diff options
author | Richard Henderson <rth@cygnus.com> | 1998-10-28 14:31:06 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-10-28 14:31:06 -0800 |
commit | 19283265adf53e051a1f372086526b87762bc246 (patch) | |
tree | f7991921f56af47e0a4753b402cdb868e740a0f6 /gcc/cpplib.c | |
parent | a45a7ba07385068ad1a57dbf0addf9313e1c2cff (diff) | |
download | gcc-19283265adf53e051a1f372086526b87762bc246.zip gcc-19283265adf53e051a1f372086526b87762bc246.tar.gz gcc-19283265adf53e051a1f372086526b87762bc246.tar.bz2 |
Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
* Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
(LIBCPP_OBJS): New. Add cppulp.o.
(cppmain, fix-header): Depend on and use libcpp.a.
* configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
of the individual object files.
* objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
last.
* cccp.c (user_label_prefix): New.
(main): Set it off -f*leading-underscore.
(special_symbol): Use it.
* cpplib.c (special_symbol): Likewise.
(cpp_handle_option): Handle -f*leading-underscore.
* cppulp.c: New file.
* output.h (user_label_prefix): Declare it.
* dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
* toplev.c (f_options, main): Handle -f*leading-underscore.
* defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
referencing USER_LABEL_PREFIX directly.
* config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
* final.c (asm_fprintf): Use user_label_prefix instead.
* arm/thumb.c (thumb_print_operand): Likewise.
* gcc.c (default_compilers): Pass -f*leading-underscore on to
cpp wherever appropriate.
From-SVN: r23415
Diffstat (limited to 'gcc/cpplib.c')
-rw-r--r-- | gcc/cpplib.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/cpplib.c b/gcc/cpplib.c index b45e014..c726c3c 100644 --- a/gcc/cpplib.c +++ b/gcc/cpplib.c @@ -38,6 +38,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "gansidecl.h" #include "cpplib.h" #include "cpphash.h" +#include "output.h" #ifndef GET_ENV_PATH_LIST #define GET_ENV_PATH_LIST(VAR,NAME) do { (VAR) = getenv (NAME); } while (0) @@ -2338,7 +2339,7 @@ special_symbol (hp, pfile) break; case T_USER_LABEL_PREFIX_TYPE: - buf = USER_LABEL_PREFIX; + buf = user_label_prefix; break; case T_REGISTER_PREFIX_TYPE: @@ -6342,6 +6343,10 @@ cpp_handle_option (pfile, argc, argv) { struct cpp_options *opts = CPP_OPTIONS (pfile); int i = 0; + + if (user_label_prefix == NULL) + user_label_prefix = USER_LABEL_PREFIX; + if (argv[i][0] != '-') { if (opts->out_fname != NULL) { @@ -6362,6 +6367,13 @@ cpp_handle_option (pfile, argc, argv) cpp_fatal (pfile, "Directory name missing after `%s' option", argv[i]); return argc; + case 'f': + if (!strcmp (argv[i], "-fleading-underscore")) + user_label_prefix = "_"; + else if (!strcmp (argv[i], "-fno-leading-underscore")) + user_label_prefix = ""; + break; + case 'i': if (!strcmp (argv[i], "-include") || !strcmp (argv[i], "-imacros")) { |