Add STRINGIFY to gdb/common/preprocessor.h
authorPedro Alves <palves@redhat.com>
Thu, 22 Jun 2017 09:23:30 +0000 (10:23 +0100)
committerPedro Alves <palves@redhat.com>
Thu, 22 Jun 2017 09:59:42 +0000 (10:59 +0100)
We have several copies of this common idiom under gdb/ currently.
This commit moves them / factors them out to gdb/common/preprocessor.h.

gdb/ChangeLog:
2017-06-22  Pedro Alves  <palves@redhat.com>

* common/agent.h: Include "common/preprocessor.h".
(STRINGIZE_1, STRINGIZE): Delete.
(IPA_SYM): Use STRINGIFY instead.
* common/preprocessor.h (STRINGIFY_1, STRINGIFY): New.
* compile/compile-c-support.c: Include "common/preprocessor.h".
(STR, STRINGIFY): Delete.
* ia64-libunwind-tdep.c: Include "common/preprocessor.h".
(STRINGIFY2, STRINGIFY): Delete.

gdb/common/agent.h
gdb/common/preprocessor.h
gdb/compile/compile-c-support.c
gdb/ia64-libunwind-tdep.c

index 66f57ad4b0855ce4a97eaa7b126a02b63b5426f9..f24f4826f35d6ef8c1ce06b78c242ff0b46aaeb9 100644 (file)
 #ifndef COMMON_AGENT_H
 #define COMMON_AGENT_H
 
+#include "common/preprocessor.h"
+
 int agent_run_command (int pid, const char *cmd, int len);
 
 int agent_look_up_symbols (void *);
 
-#define STRINGIZE_1(STR) #STR
-#define STRINGIZE(STR) STRINGIZE_1(STR)
 #define IPA_SYM_EXPORTED_NAME(SYM) gdb_agent_ ## SYM
 #define IPA_SYM(SYM)                                   \
   {                                                    \
-    STRINGIZE (IPA_SYM_EXPORTED_NAME (SYM)),           \
+    STRINGIFY (IPA_SYM_EXPORTED_NAME (SYM)),           \
     offsetof (struct ipa_sym_addresses, addr_ ## SYM)  \
   }
 
index 6877344350aa2c7c76093e8ed0a0a6b96e6d72c0..3543a9048ce6ca0d8ed988c01319786f12623a5d 100644 (file)
 #define CONCAT_1(a, b) a ## b
 #define CONCAT(a, b) CONCAT_1 (a, b)
 
+/* Stringification.  */
+#define STRINGIFY_1(x) #x
+#define STRINGIFY(x) STRINGIFY_1 (x)
+
 /* Escape parens out.  Useful if you need to pass an argument that
    includes commas to another macro.  */
 #define ESC(...) __VA_ARGS__
index 2614570072d3456bb7fcca06477222c03a6df4b3..3bec28c271f3142cdb3d76b2a34bf543babb2efd 100644 (file)
@@ -26,6 +26,7 @@
 #include "macroscope.h"
 #include "regcache.h"
 #include "common/function-view.h"
+#include "common/preprocessor.h"
 
 /* See compile-internal.h.  */
 
@@ -65,9 +66,6 @@ c_get_range_decl_name (const struct dynamic_prop *prop)
 
 \f
 
-#define STR(x) #x
-#define STRINGIFY(x) STR(x)
-
 /* Helper function for c_get_compile_context.  Open the GCC front-end
    shared library and return the symbol specified by the current
    GCC_C_FE_CONTEXT.  */
index 4b716c49fac6c809d9271c50ed704fd4990a2094..025c87039e2c92c5e251ba595bf68e55d46848a3 100644 (file)
@@ -36,6 +36,7 @@
 #include "ia64-libunwind-tdep.h"
 
 #include "complaints.h"
+#include "common/preprocessor.h"
 
 /* IA-64 is the only target that currently uses ia64-libunwind-tdep.
    Note how UNW_TARGET, UNW_OBJ, etc. are compile time constants below.
@@ -99,8 +100,6 @@ struct libunwind_frame_cache
 /* We need to qualify the function names with a platform-specific prefix
    to match the names used by the libunwind library.  The UNW_OBJ macro is
    provided by the libunwind.h header file.  */
-#define STRINGIFY2(name)       #name
-#define STRINGIFY(name)                STRINGIFY2(name)
 
 #ifndef LIBUNWIND_SO
 /* Use the stable ABI major version number.  `libunwind-ia64.so' is a link time