diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2016-04-12 17:54:34 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2016-04-12 17:54:34 +0000 |
commit | 2b2f52bccfd2f83ff0ed5e33baabd9f9266132f3 (patch) | |
tree | 569637f539eb8f079158b6899d26291186a4e0f8 | |
parent | 5901e56ab019387103eceba713d7b936f6d58d04 (diff) | |
download | gcc-2b2f52bccfd2f83ff0ed5e33baabd9f9266132f3.zip gcc-2b2f52bccfd2f83ff0ed5e33baabd9f9266132f3.tar.gz gcc-2b2f52bccfd2f83ff0ed5e33baabd9f9266132f3.tar.bz2 |
re PR c++/68722 (internal compiler error: in merge_exception_specifiers, at cp/typeck2.c:2108)
/cp
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68722
* parser.c (cp_parser_cache_defarg): When file ends in default
argument simply return error_mark_node.
/testsuite
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68722
* g++.dg/parse/pr68722.C: New.
From-SVN: r234909
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/parser.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/parse/pr68722.C | 9 |
4 files changed, 21 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ee830a2..88b6a10 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2016-04-12 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/68722 + * parser.c (cp_parser_cache_defarg): When file ends in default + argument simply return error_mark_node. + 2016-04-12 Nathan Sidwell <nathan@acm.org> PR c++/70501 diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 28e01af..00e211e 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -27472,8 +27472,7 @@ cp_parser_cache_defarg (cp_parser *parser, bool nsdmi) case CPP_EOF: case CPP_PRAGMA_EOL: error_at (token->location, "file ends in default argument"); - done = true; - break; + return error_mark_node; case CPP_NAME: case CPP_SCOPE: diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e49f83c..171c696 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-04-12 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/68722 + * g++.dg/parse/pr68722.C: New. + 2016-04-12 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/70596 diff --git a/gcc/testsuite/g++.dg/parse/pr68722.C b/gcc/testsuite/g++.dg/parse/pr68722.C new file mode 100644 index 0000000..44a6213 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/pr68722.C @@ -0,0 +1,9 @@ +// PR c++/68722 + +class A { + &__loc // { dg-error "" } +} class ios_base { // { dg-error "" } + A _M_ios_locale ios_base(ios_base &) template <_Traits> class basic_ios { // { dg-error "" } +basic_ios basic_ios = operator= // { dg-error "" } + +// { dg-prune-output "file ends in default argument" } |