aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpplib.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-10-28 14:31:06 -0800
committerRichard Henderson <rth@gcc.gnu.org>1998-10-28 14:31:06 -0800
commit19283265adf53e051a1f372086526b87762bc246 (patch)
treef7991921f56af47e0a4753b402cdb868e740a0f6 /gcc/cpplib.c
parenta45a7ba07385068ad1a57dbf0addf9313e1c2cff (diff)
downloadgcc-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.c14
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")) {