diff options
| author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-06-24 05:46:51 +0000 |
|---|---|---|
| committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-06-24 05:46:51 +0000 |
| commit | f1bb1590c2cc52193aefda4cf6d3c5769fdcc7c3 (patch) | |
| tree | fcd033733bfffcb7d0c08d9fe7bd14f21ee3f9c5 /gcc/testsuite/gcc.dg/cpp/trad/assembler.S | |
| parent | f6eab2448b8d749148e2e97dc5fef7111703cded (diff) | |
| download | ppe42-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.S | 25 |
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 { \} } } +*/ + |

