OSDN Git Service

* cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Mar 2000 00:09:22 +0000 (00:09 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 3 Mar 2000 00:09:22 +0000 (00:09 +0000)
        for the buffer.
        (SET_CPP_PEDANTIC): New macro.
        * cpplib.c (do_include): Don't bother checking system_header_p.
        (do_warning, do_ident, do_assert, do_unassert): Likewise.

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

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

index d8b64b4..799ca9e 100644 (file)
@@ -1,5 +1,11 @@
 2000-03-02  Jason Merrill  <jason@casey.cygnus.com>
 
+       * cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set
+       for the buffer.
+       (SET_CPP_PEDANTIC): New macro.
+       * cpplib.c (do_include): Don't bother checking system_header_p.
+       (do_warning, do_ident, do_assert, do_unassert): Likewise.
+
        * function.h (struct expr_status): Add x_arg_space_so_far.
        (arg_space_so_far): New macro.
        * expr.c (init_expr): Initialize it.
index c5cf674..96f2ca9 100644 (file)
@@ -1068,7 +1068,7 @@ do_include (pfile, keyword)
 
   int fd;
 
-  if (CPP_PEDANTIC (pfile) && !CPP_BUFFER (pfile)->system_header_p)
+  if (CPP_PEDANTIC (pfile))
     {
       if (importing)
        cpp_pedwarn (pfile, "ANSI C does not allow `#import'");
@@ -1555,7 +1555,7 @@ do_warning (pfile, keyword)
   skip_rest_of_line (pfile);
   limit = CPP_BUFFER (pfile)->cur;
 
-  if (CPP_PEDANTIC (pfile) && !CPP_BUFFER (pfile)->system_header_p)
+  if (CPP_PEDANTIC (pfile))
     cpp_pedwarn (pfile, "ANSI C does not allow `#warning'");
 
   cpp_warning (pfile, "#warning %.*s", (int)(limit - text), text);
@@ -1572,7 +1572,7 @@ do_ident (pfile, keyword)
   long old_written = CPP_WRITTEN (pfile);
 
   /* Allow #ident in system headers, since that's not user's fault.  */
-  if (CPP_PEDANTIC (pfile) && !CPP_BUFFER (pfile)->system_header_p)
+  if (CPP_PEDANTIC (pfile))
     cpp_pedwarn (pfile, "ANSI C does not allow `#ident'");
 
   CPP_PUTS (pfile, "#ident ", 7);
@@ -2292,7 +2292,7 @@ validate_else (pfile, directive)
      cpp_reader *pfile;
      const char *directive;
 {
-  if (! CPP_PEDANTIC (pfile) || CPP_BUFFER (pfile)->system_header_p)
+  if (! CPP_PEDANTIC (pfile))
     return;
 
   cpp_skip_hspace (pfile);
@@ -3060,8 +3060,7 @@ do_assert (pfile, keyword)
   HASHNODE *base, *this;
   int baselen, thislen;
 
-  if (CPP_PEDANTIC (pfile) && CPP_OPTIONS (pfile)->done_initializing
-      && !CPP_BUFFER (pfile)->system_header_p)
+  if (CPP_PEDANTIC (pfile) && CPP_OPTIONS (pfile)->done_initializing)
     cpp_pedwarn (pfile, "ANSI C does not allow `#assert'");
 
   cpp_skip_hspace (pfile);
@@ -3125,8 +3124,7 @@ do_unassert (pfile, keyword)
   long baselen, thislen;
   HASHNODE *base, *this, *next;
   
-  if (CPP_PEDANTIC (pfile) && CPP_OPTIONS (pfile)->done_initializing
-      && !CPP_BUFFER (pfile)->system_header_p)
+  if (CPP_PEDANTIC (pfile) && CPP_OPTIONS (pfile)->done_initializing)
     cpp_pedwarn (pfile, "ANSI C does not allow `#unassert'");
 
   cpp_skip_hspace (pfile);
index 60d0eed..5a69064 100644 (file)
@@ -508,10 +508,14 @@ struct cpp_options {
 #define CPP_TRADITIONAL(PFILE) (CPP_OPTIONS(PFILE)-> traditional)
 #define CPP_WARN_UNDEF(PFILE) (CPP_OPTIONS(PFILE)->warn_undef)
 #define CPP_C89(PFILE) (CPP_OPTIONS(PFILE)->c89)
-#define CPP_PEDANTIC(PFILE) (CPP_OPTIONS (PFILE)->pedantic)
 #define CPP_PREPROCESSED(PFILE) (CPP_OPTIONS (PFILE)->preprocessed)
 #define CPP_PRINT_DEPS(PFILE) (CPP_OPTIONS (PFILE)->print_deps)
 
+#define CPP_PEDANTIC(PFILE) \
+  (CPP_OPTIONS (PFILE)->pedantic && !CPP_BUFFER (pfile)->system_header_p)
+
+#define SET_CPP_PEDANTIC(PFILE) (CPP_OPTIONS (PFILE)->pedantic = 1)
+
 /* List of directories to look for include files in. */
 struct file_name_list
 {