summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/gcc.dg/cpp/trad/assembler.S
diff options
context:
space:
mode:
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-24 05:46:51 +0000
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-24 05:46:51 +0000
commitf1bb1590c2cc52193aefda4cf6d3c5769fdcc7c3 (patch)
treefcd033733bfffcb7d0c08d9fe7bd14f21ee3f9c5 /gcc/testsuite/gcc.dg/cpp/trad/assembler.S
parentf6eab2448b8d749148e2e97dc5fef7111703cded (diff)
downloadppe42-gcc-f1bb1590c2cc52193aefda4cf6d3c5769fdcc7c3.tar.gz
ppe42-gcc-f1bb1590c2cc52193aefda4cf6d3c5769fdcc7c3.zip
* cpptrad.c (scan_out_logical_line): Check recursing only when
we know we have a macro invocation in the function-like case. Only call _cpp_handle_directive if we know we have a good directive, or we want to reject a bad directive. testsuite: * gcc.dg/cpp/trad/argcout.c, gcc.dg/cpp/trad/assembler.S, gcc.dg/cpp/trad/argcout.c, gcc.dg/cpp/trad/funlike-4.c, gcc.dg/cpp/trad/null-drctv.c, gcc.dg/cpp/trad/recurse-1.c, gcc.dg/cpp/trad/recurse-2.c, gcc.dg/cpp/trad/recurse-3.c: New tests. * gcc.dg/cpp/trad/directive.c: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54942 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp/trad/assembler.S')
-rw-r--r--gcc/testsuite/gcc.dg/cpp/trad/assembler.S25
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/trad/assembler.S b/gcc/testsuite/gcc.dg/cpp/trad/assembler.S
new file mode 100644
index 00000000000..729162a5120
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/trad/assembler.S
@@ -0,0 +1,25 @@
+/* Regression test - in assembly language, # may have some significance
+ other than 'stringize macro argument' and therefore must be preserved
+ in the output, and should not be warned about. */
+
+/* { dg-do preprocess } */
+
+#define foo() mov r0, #5 /* { dg-bogus "not followed" "spurious warning" } */
+
+entry:
+ foo()
+
+/* Check we don't EOF on an unknown directive. */
+#unknown directive
+#error a later diagnostic /* { dg-error "diagnostic" } */
+
+/*
+ { dg-final { if ![file exists 20000510-1.i] { return } } }
+ { dg-final { set tmp [grep 20000510-1.i # line] } }
+ { dg-final { if {[string length $tmp] > 0} \{ } }
+ { dg-final { pass "20000510-1.S: # preservation" } }
+ { dg-final { \} else \{ } }
+ { dg-final { fail "20000510-1.S: # preservation" } }
+ { dg-final { \} } }
+*/
+
OpenPOWER on IntegriCloud