OSDN Git Service

* gcc.c (cpp_options): Pass -fno-operator-names.
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Dec 2000 15:49:28 +0000 (15:49 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Dec 2000 15:49:28 +0000 (15:49 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38288 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cppinit.c
gcc/cpplib.h
gcc/gcc.c

index 598529a..9db5b42 100644 (file)
@@ -1,3 +1,13 @@
+2000-12-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * 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  <jason@redhat.com>
 
        * jump.c (jump_optimize_1): Don't delete the line note after the
index 9bed926..1ded3a3 100644 (file)
@@ -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;
index 18c3baa..552631b 100644 (file)
@@ -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
index c607933..242067a 100644 (file)
--- 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*}}";