aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp-as1.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/testsuite/gcc.dg/cpp-as1.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/testsuite/gcc.dg/cpp-as1.c')
-rw-r--r--gcc/testsuite/gcc.dg/cpp-as1.c45
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