From be76805509ea3921047472a6aba0d63d2e2be3eb Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 15 Dec 2000 16:49:28 +0100 Subject: [PATCH] gcc.c (cpp_options): Pass -fno-operator-names. * gcc.c (cpp_options): Pass -fno-operator-names. * cpplib.h (struct cpp_options): Add operator_names. * cppinit.c (cpp_create_reader): Initialize it. (initialize_builtins): If -fno-operator-names, don't add C++ alternate operator names. (COMMAND_LINE_OPTIONS): Add -fno-operator-names. (cpp_handle_option): Clear operator_names. From-SVN: r38288 --- gcc/ChangeLog | 10 ++++++++++ gcc/cppinit.c | 9 +++++++++ gcc/cpplib.h | 3 +++ gcc/gcc.c | 2 +- 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 598529a..9db5b42 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2000-12-15 Jakub Jelinek + + * gcc.c (cpp_options): Pass -fno-operator-names. + * cpplib.h (struct cpp_options): Add operator_names. + * cppinit.c (cpp_create_reader): Initialize it. + (initialize_builtins): If -fno-operator-names, don't add + C++ alternate operator names. + (COMMAND_LINE_OPTIONS): Add -fno-operator-names. + (cpp_handle_option): Clear operator_names. + 2000-12-15 Jason Merrill * jump.c (jump_optimize_1): Don't delete the line note after the diff --git a/gcc/cppinit.c b/gcc/cppinit.c index 9bed926..1ded3a3 100644 --- a/gcc/cppinit.c +++ b/gcc/cppinit.c @@ -491,6 +491,7 @@ cpp_create_reader (lang) CPP_OPTION (pfile, discard_comments) = 1; CPP_OPTION (pfile, show_column) = 1; CPP_OPTION (pfile, tabstop) = 8; + CPP_OPTION (pfile, operator_names) = 1; CPP_OPTION (pfile, pending) = (struct cpp_pending *) xcalloc (1, sizeof (struct cpp_pending)); @@ -663,6 +664,7 @@ static const struct builtin builtin_array[] = #undef B #undef C #undef X +#undef O #define builtin_array_end \ builtin_array + sizeof(builtin_array)/sizeof(struct builtin) @@ -679,6 +681,9 @@ initialize_builtins (pfile) if ((b->flags & CPLUS) && ! CPP_OPTION (pfile, cplusplus)) continue; + if ((b->flags & OPERATOR) && ! CPP_OPTION (pfile, operator_names)) + continue; + if (b->flags & (OPERATOR | BUILTIN)) { cpp_hashnode *hp = cpp_lookup (pfile, b->name, b->len); @@ -1091,6 +1096,7 @@ new_pending_directive (pend, text, handler) DEF_OPT("d", no_arg, OPT_d) \ DEF_OPT("fleading-underscore", 0, OPT_fleading_underscore) \ DEF_OPT("fno-leading-underscore", 0, OPT_fno_leading_underscore) \ + DEF_OPT("fno-operator-names", 0, OPT_fno_operator_names) \ DEF_OPT("fno-preprocessed", 0, OPT_fno_preprocessed) \ DEF_OPT("fno-show-column", 0, OPT_fno_show_column) \ DEF_OPT("fpreprocessed", 0, OPT_fpreprocessed) \ @@ -1287,6 +1293,9 @@ cpp_handle_option (pfile, argc, argv) case OPT_fno_leading_underscore: CPP_OPTION (pfile, user_label_prefix) = ""; break; + case OPT_fno_operator_names: + CPP_OPTION (pfile, operator_names) = 0; + break; case OPT_fpreprocessed: CPP_OPTION (pfile, preprocessed) = 1; break; diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 18c3baa..552631b 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -424,6 +424,9 @@ struct cpp_options /* Print column number in error messages. */ unsigned char show_column; + + /* Treat C++ alternate operator names special. */ + unsigned char operator_names; }; struct lexer_state diff --git a/gcc/gcc.c b/gcc/gcc.c index c607933..242067a 100644 --- a/gcc/gcc.c +++ b/gcc/gcc.c @@ -594,7 +594,7 @@ static const char *cpp_options = %{!ffreestanding:%{!fno-hosted:-D__STDC_HOSTED__=1}}\ %{fshow-column} %{fno-show-column}\ %{fleading-underscore} %{fno-leading-underscore}\ - %{ftabstop=*} %{remap}\ + %{fno-operator-names} %{ftabstop=*} %{remap}\ %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %C %{D*&U*&A*} %{i*} %Z %i\ %{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}}"; -- 2.7.4