aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpplib.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@wolery.cumb.org>2000-04-02 22:50:55 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-04-02 22:50:55 +0000
commitbfab56e7ab02ea2616f98cdd1681a5dcc078e189 (patch)
treeb00fb305180d6ad00464b0f8d26982c399a9faa0 /gcc/cpplib.c
parent7c3bb1deecbcda27683c0fccca91987b32eb292e (diff)
downloadgcc-bfab56e7ab02ea2616f98cdd1681a5dcc078e189.zip
gcc-bfab56e7ab02ea2616f98cdd1681a5dcc078e189.tar.gz
gcc-bfab56e7ab02ea2616f98cdd1681a5dcc078e189.tar.bz2
cppinit.c (cpp_start_read): Turn off -Wtraditional if processing C++.
* cppinit.c (cpp_start_read): Turn off -Wtraditional if processing C++. * cpplib.c (_cpp_handle_directive): Improve warnings for traditional C and indented directives. * enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex, fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap, fixinc/inclhack.def: Indent the # of #include_next one space. * cp/rtti.c: Un-indent #if and #endif. * cppexp.c (_cpp_parse_expr): If lex returns '#', it's a syntax error, but an error has already been printed. * cpplex.c (_cpp_parse_assertion): Give a more specific error message when called with nothing remaining on the line. (_cpp_lex_token): If _cpp_parse_assertion fails, return an OTHER token, not an ASSERTION. * cpplib.c (do_assert): When we create a 'base' node, clear its aschain pointer. * gcc.c-torture/compile/981211-1.c: Move to... * gcc.dg/cpp-as1.c: ...here. * gcc.dg/cpp-as2.c: New file. * gcc.dg/cpp-tradwarn1.c: Change warning regexps to match the compiler. From-SVN: r32870
Diffstat (limited to 'gcc/cpplib.c')
-rw-r--r--gcc/cpplib.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/cpplib.c b/gcc/cpplib.c
index 747f6f5..2c24de8 100644
--- a/gcc/cpplib.c
+++ b/gcc/cpplib.c
@@ -232,11 +232,11 @@ _cpp_handle_directive (pfile)
if (CPP_WTRADITIONAL (pfile))
{
if (!hash_at_bol && dtable[i].origin == KANDR)
- cpp_warning (pfile, "the # in #%s should be at the left margin",
+ cpp_warning (pfile, "traditional C ignores #%s with the # indented",
dtable[i].name);
else if (hash_at_bol && dtable[i].origin != KANDR)
cpp_warning (pfile,
- "the # in #%s should not be at the left margin",
+ "traditional C rejects #%s unless the # is indented",
dtable[i].name);
}
@@ -1658,7 +1658,10 @@ do_assert (pfile)
bslot = _cpp_lookup_slot (pfile, sym, blen, 1, &bhash);
if (! *bslot)
- *bslot = base = _cpp_make_hashnode (sym, blen, T_ASSERT, bhash);
+ {
+ *bslot = base = _cpp_make_hashnode (sym, blen, T_ASSERT, bhash);
+ base->value.aschain = 0;
+ }
else
{
base = *bslot;