OSDN Git Service

Consolidate support for "String-ification" into system.h:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 May 1998 07:36:02 +0000 (07:36 +0000)
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 May 1998 07:36:02 +0000 (07:36 +0000)
        * system.h: Define the STRINGIFY macro here.
        * protoize.c: Not here.
        * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@19696 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/gengenrtl.c
gcc/protoize.c
gcc/system.h

index f14c3e6..d225d2e 100644 (file)
@@ -1,3 +1,9 @@
+Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * system.h: Define the STRINGIFY macro here.
+       * protoize.c: Not here.
+       * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
+
 Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
 
        * varasm.c (assemble_variable): Compute the alignment of the data 
index b140743..a631c4e 100644 (file)
@@ -35,11 +35,7 @@ struct rtx_definition
   const char *enumname, *name, *format;
 };
 
-#if defined(HAVE_CPP_STRINGIFY) || (defined(__GNUC__) && defined(__STDC__))
-#define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) { # ENUM, NAME, FORMAT },
-#else
-#define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) { "ENUM", NAME, FORMAT },
-#endif
+#define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) { STRINGIFY(ENUM), NAME, FORMAT },
 
 struct rtx_definition defs[] = 
 {  
index 4b5b13f..e5048c0 100644 (file)
@@ -201,14 +201,6 @@ extern size_t   strlen ()
 
 #define NONCONST
 
-/* Define a STRINGIFY macro that's right for ANSI or traditional C.  */
-
-#if defined(HAVE_CPP_STRINGIFY) || (defined(__GNUC__) && defined(__STDC__))
-#define STRINGIFY(STRING) #STRING
-#else
-#define STRINGIFY(STRING) "STRING"
-#endif
-
 /* Define a default place to find the SYSCALLS.X file.  */
 
 #ifndef STD_PROTO_DIR
index e1c75ab..0107b26 100644 (file)
@@ -249,4 +249,22 @@ void abort ();
 #endif /* USE_SYSTEM_ABORT */
 #endif /* !abort */
 
+
+/* Define a STRINGIFY macro that's right for ANSI or traditional C.
+   HAVE_CPP_STRINGIFY only refers to the stage1 compiler.  Assume that
+   (non-traditional) gcc used in stage2 or later has this feature.
+
+   Note: if the argument passed to STRINGIFY is itself a macro, eg
+   #define foo bar, STRINGIFY(foo) will produce "foo", not "bar".
+   Although the __STDC__ case could be made to expand this via a layer
+   of indirection, the traditional C case can not do so.  Therefore
+   this behavior is not supported. */
+#ifndef STRINGIFY
+# if defined(HAVE_CPP_STRINGIFY) || (defined(__GNUC__) && defined(__STDC__))
+#  define STRINGIFY(STRING) #STRING
+# else
+#  define STRINGIFY(STRING) "STRING"
+# endif
+#endif /* ! STRINGIFY */
+
 #endif /* __GCC_SYSTEM_H__ */