diff gcc/config/visium/visium.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
line wrap: on
line diff
--- a/gcc/config/visium/visium.h	Fri Oct 27 22:46:09 2017 +0900
+++ b/gcc/config/visium/visium.h	Thu Oct 25 07:37:49 2018 +0900
@@ -1,5 +1,5 @@
 /* Definitions of target machine for Visium.
-   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   Copyright (C) 2002-2018 Free Software Foundation, Inc.
    Contributed by C.Nettleton, J.P.Parkes and P.Garbett.
 
    This file is part of GCC.
@@ -1211,14 +1211,6 @@
    machines this should be `QImode'. */
 #define FUNCTION_MODE SImode
 
-/* `NO_IMPLICIT_EXTERN_C'
-
-   Define this macro if the system header files support C++ as well as
-   C.  This macro inhibits the usual method of using system header
-   files in C++, which is to pretend that the file's contents are
-   enclosed in `extern "C" {...}'. */
-#define NO_IMPLICIT_EXTERN_C
-
 /* Dividing the Output into Sections (Texts, Data, ...)
 
    An object file is divided into sections containing different types
@@ -1456,7 +1448,11 @@
    Here we output a word of zero so that jump-tables can be seperated
    in reverse assembly. */
 #define ASM_OUTPUT_CASE_END(STREAM, NUM, TABLE) \
-  asm_fprintf (STREAM, "\t.long   0\n");
+  asm_fprintf (STREAM, "\t.long   0\n")
+
+/* Support subalignment values.  */
+
+#define SUBALIGN_LOG 3
 
 /* Assembler Commands for Alignment
 
@@ -1490,7 +1486,7 @@
    POWER bytes.  POWER will be a C expression of type `int'. */
 #define ASM_OUTPUT_ALIGN(STREAM,LOG)      \
   if ((LOG) != 0)                       \
-    fprintf (STREAM, "\t.align  %d\n", (1<<(LOG)))
+    fprintf (STREAM, "\t.align  %d\n", (1 << (LOG)))
 
 /* `ASM_OUTPUT_MAX_SKIP_ALIGN (STREAM, POWER, MAX_SKIP)`
 
@@ -1501,16 +1497,10 @@
    expression of type `int'. */
 #define ASM_OUTPUT_MAX_SKIP_ALIGN(STREAM,LOG,MAX_SKIP)			\
   if ((LOG) != 0) {							\
-    if ((MAX_SKIP) == 0) fprintf ((STREAM), "\t.p2align %d\n", (LOG));	\
-    else {								\
+    if ((MAX_SKIP) == 0 || (MAX_SKIP) >= (1 << (LOG)) - 1)		\
+      fprintf ((STREAM), "\t.p2align %d\n", (LOG));			\
+    else								\
       fprintf ((STREAM), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
-      /* Make sure that we have at least 8-byte alignment if > 8-byte	\
-	 alignment is preferred.  */					\
-      if ((LOG) > 3							\
-	  && (1 << (LOG)) > ((MAX_SKIP) + 1)				\
-	  && (MAX_SKIP) >= 7)						\
-	fputs ("\t.p2align 3\n", (STREAM));				\
-    }									\
   }
 
 /* Controlling Debugging Information Format
@@ -1527,9 +1517,8 @@
    automatic variable having address X (an RTL expression).  The
    default computation assumes that X is based on the frame-pointer
    and gives the offset from the frame-pointer.  This is required for
-   targets that produce debugging output for DBX or COFF-style
-   debugging output for SDB and allow the frame-pointer to be
-   eliminated when the `-g' options is used. */
+   targets that produce debugging output for DBX and allow the frame-pointer
+   to be eliminated when the `-g' options is used. */
 #define DEBUGGER_AUTO_OFFSET(X) \
   (GET_CODE (X) == PLUS ? INTVAL (XEXP (X, 1)) : 0)