diff options
author | Zack Weinberg <zack@wolery.cumb.org> | 2000-04-02 22:50:55 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2000-04-02 22:50:55 +0000 |
commit | bfab56e7ab02ea2616f98cdd1681a5dcc078e189 (patch) | |
tree | b00fb305180d6ad00464b0f8d26982c399a9faa0 /gcc/testsuite/gcc.dg/cpp-as1.c | |
parent | 7c3bb1deecbcda27683c0fccca91987b32eb292e (diff) | |
download | gcc-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/testsuite/gcc.dg/cpp-as1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/cpp-as1.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp-as1.c b/gcc/testsuite/gcc.dg/cpp-as1.c new file mode 100644 index 0000000..6e8c0f8 --- /dev/null +++ b/gcc/testsuite/gcc.dg/cpp-as1.c @@ -0,0 +1,45 @@ +/* Basic tests of the #assert preprocessor extension. */ +/* { dg-do compile } */ +/* { dg-options "" } */ + +#define fail int fail + +#assert abc (def) +#assert abc (ghi) +#assert abc (jkl) +#assert space ( s p a c e ) + +/* Basic: */ +#if !#abc (def) || !#abc (ghi) || !#abc (jkl) +fail +#endif + +/* any answer for #abc */ +#if !#abc +fail +#endif + +/* internal whitespace is collapsed, + external whitespace is deleted */ +#if !#space (s p a c e) || !#space ( s p a c e ) || #space (space) +fail +#endif + +/* removing assertions */ +#unassert abc (jkl) +#if !#abc || !#abc (def) || !#abc (ghi) || #abc (jkl) +fail +#endif + +#unassert abc +#if #abc || #abc (def) || #abc (ghi) || #abc (jkl) +fail +#endif + +int gobble + +/* make sure it can succeed too. + also check space before open paren isn't significant */ +#if #space(s p a c e) +; +#endif |