diff options
author | lmillward <lmillward@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-02 17:50:55 +0000 |
---|---|---|
committer | lmillward <lmillward@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-02 17:50:55 +0000 |
commit | a40e70de6a82efcb88337c8185aadc28d3ca77f3 (patch) | |
tree | 82375a521dcc73acb141e68c2640f8efff29abdb /gcc/testsuite/g++.dg | |
parent | fc4e97d000c15b74a087f047449534fd1b0cf615 (diff) | |
download | gcc-a40e70de6a82efcb88337c8185aadc28d3ca77f3.tar.gz |
PR c++/30849
PR c++/30850
PR c++/30851
* parser.c (cp_parser_asm_definition): Detect and discard asm
statements with invalid inputs or outputs.
(cp_parser_asm_operand_list): Return error mark node if any
of the operands are invalid. Adjust documentation.
PR c++/30849
* g++.dg/parse/asm1.C: New test.
PR c++/30850
* g++.dg/parse/asm2.C: Likewise.
PR c++/30851
* g++.dg/parse/asm3.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127167 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/g++.dg')
-rw-r--r-- | gcc/testsuite/g++.dg/parse/asm1.C | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/asm2.C | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/asm3.C | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/parse/asm1.C b/gcc/testsuite/g++.dg/parse/asm1.C new file mode 100644 index 00000000000..009ffbd3ad3 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/asm1.C @@ -0,0 +1,6 @@ +//PR c++/30849 + +void foo() +{ + asm("" : 0); // { dg-error "numeric constant|token" } +} diff --git a/gcc/testsuite/g++.dg/parse/asm2.C b/gcc/testsuite/g++.dg/parse/asm2.C new file mode 100644 index 00000000000..09924c9c7c3 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/asm2.C @@ -0,0 +1,6 @@ +//PR c++/30850 + +void foo() +{ + asm("" :: 0); // { dg-error "numeric constant|token" } +} diff --git a/gcc/testsuite/g++.dg/parse/asm3.C b/gcc/testsuite/g++.dg/parse/asm3.C new file mode 100644 index 00000000000..91f19e48cd5 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/asm3.C @@ -0,0 +1,6 @@ +//PR c++/30851 + +void foo() +{ + asm ("%[x]" : [0](x)); // { dg-error "numeric constant|token" } +} |