OSDN Git Service

* c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
[pf3gnuchains/gcc-fork.git] / gcc / cpplib.h
index 325eb0c..4c4b7e3 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
@@ -455,6 +458,9 @@ struct lexer_state
 
   /* Nonzero when parsing arguments to a function-like macro.  */
   unsigned char parsing_args;
+
+  /* Nonzero when in a # NUMBER directive.  */
+  unsigned char line_extension;
 };
 
 /* Special nodes - identifiers with predefined significance.  */
@@ -603,10 +609,6 @@ struct cpp_reader
      preprocessor.  */
   struct spec_nodes spec_nodes;
 
-  /* Nonzero means we have printed (while error reporting) a list of
-     containing files that matches the current status.  */
-  unsigned char input_stack_listing_current;
-
   /* We're printed a warning recommending against using #import.  */
   unsigned char import_warning;
 
@@ -631,6 +633,11 @@ struct cpp_reader
 /* Name under which this program was invoked.  */
 extern const char *progname;
 
+/* Where does this buffer come from?  A faked include, a source file,
+   a builtin macro, a command-line option, or a _Pragma operator.  */
+enum cpp_buffer_type {BUF_FAKE, BUF_FILE, BUF_BUILTIN,
+                     BUF_CL_OPTION, BUF_PRAGMA};
+
 /* The structure of a node in the hash table.  The hash table has
    entries for all identifiers: either macros defined by #define
    commands (type NT_MACRO), assertions created with #assert
@@ -726,7 +733,9 @@ extern void cpp_undef  PARAMS ((cpp_reader *, const char *));
 extern void cpp_unassert PARAMS ((cpp_reader *, const char *));
 
 extern cpp_buffer *cpp_push_buffer PARAMS ((cpp_reader *,
-                                           const unsigned char *, size_t));
+                                           const unsigned char *, size_t,
+                                           enum cpp_buffer_type,
+                                           const char *));
 extern cpp_buffer *cpp_pop_buffer PARAMS ((cpp_reader *));
 extern int cpp_defined PARAMS ((cpp_reader *, const unsigned char *, int));