Add STRINGIFY to gdb/common/preprocessor.h

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.
This commit is contained in:
Pedro Alves
2017-06-22 10:23:30 +01:00
parent b45a120833
commit d269dfc64f
4 changed files with 9 additions and 8 deletions

View File

@@ -20,16 +20,16 @@
#ifndef COMMON_AGENT_H #ifndef COMMON_AGENT_H
#define COMMON_AGENT_H #define COMMON_AGENT_H
#include "common/preprocessor.h"
int agent_run_command (int pid, const char *cmd, int len); int agent_run_command (int pid, const char *cmd, int len);
int agent_look_up_symbols (void *); 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_EXPORTED_NAME(SYM) gdb_agent_ ## SYM
#define IPA_SYM(SYM) \ #define IPA_SYM(SYM) \
{ \ { \
STRINGIZE (IPA_SYM_EXPORTED_NAME (SYM)), \ STRINGIFY (IPA_SYM_EXPORTED_NAME (SYM)), \
offsetof (struct ipa_sym_addresses, addr_ ## SYM) \ offsetof (struct ipa_sym_addresses, addr_ ## SYM) \
} }

View File

@@ -24,6 +24,10 @@
#define CONCAT_1(a, b) a ## b #define CONCAT_1(a, b) a ## b
#define CONCAT(a, b) CONCAT_1 (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 /* Escape parens out. Useful if you need to pass an argument that
includes commas to another macro. */ includes commas to another macro. */
#define ESC(...) __VA_ARGS__ #define ESC(...) __VA_ARGS__

View File

@@ -26,6 +26,7 @@
#include "macroscope.h" #include "macroscope.h"
#include "regcache.h" #include "regcache.h"
#include "common/function-view.h" #include "common/function-view.h"
#include "common/preprocessor.h"
/* See compile-internal.h. */ /* See compile-internal.h. */
@@ -65,9 +66,6 @@ c_get_range_decl_name (const struct dynamic_prop *prop)
#define STR(x) #x
#define STRINGIFY(x) STR(x)
/* Helper function for c_get_compile_context. Open the GCC front-end /* Helper function for c_get_compile_context. Open the GCC front-end
shared library and return the symbol specified by the current shared library and return the symbol specified by the current
GCC_C_FE_CONTEXT. */ GCC_C_FE_CONTEXT. */

View File

@@ -36,6 +36,7 @@
#include "ia64-libunwind-tdep.h" #include "ia64-libunwind-tdep.h"
#include "complaints.h" #include "complaints.h"
#include "common/preprocessor.h"
/* IA-64 is the only target that currently uses ia64-libunwind-tdep. /* IA-64 is the only target that currently uses ia64-libunwind-tdep.
Note how UNW_TARGET, UNW_OBJ, etc. are compile time constants below. 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 /* 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 to match the names used by the libunwind library. The UNW_OBJ macro is
provided by the libunwind.h header file. */ provided by the libunwind.h header file. */
#define STRINGIFY2(name) #name
#define STRINGIFY(name) STRINGIFY2(name)
#ifndef LIBUNWIND_SO #ifndef LIBUNWIND_SO
/* Use the stable ABI major version number. `libunwind-ia64.so' is a link time /* Use the stable ABI major version number. `libunwind-ia64.so' is a link time