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.
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'");
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);
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);
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);
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);
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);
#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
{