#define USER_LABEL_PREFIX "_"
+/* A dummy symbol that will be replaced with the function base name. */
+#define MACHOPIC_FUNCTION_BASE_NAME "<pic base>"
+
/* Don't output a .file directive. That is only used by the assembler for
error reporting. */
#undef TARGET_ASM_FILE_START_FILE_DIRECTIVE
#define ASM_OUTPUT_LABELREF(FILE,NAME) \
do { \
const char *xname = (NAME); \
- if (! strcmp (xname, "<pic base>")) \
+ if (! strcmp (xname, MACHOPIC_FUNCTION_BASE_NAME)) \
machopic_output_function_base_name(FILE); \
else if (xname[0] == '&' || xname[0] == '*') \
{ \
#define DARWIN_REGISTER_TARGET_PRAGMAS() \
do { \
- c_register_pragma (0, "mark", darwin_pragma_ignore); \
+ if (!flag_preprocess_only) \
+ cpp_register_pragma (parse_in, NULL, "mark", \
+ darwin_pragma_ignore, false); \
c_register_pragma (0, "options", darwin_pragma_options); \
c_register_pragma (0, "segment", darwin_pragma_ignore); \
c_register_pragma (0, "unused", darwin_pragma_unused); \