aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2018-05-09 16:17:36 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2018-05-09 16:17:36 +0000
commit1a9f989a29b9c6c3d279ef1df00badc9a85d5d97 (patch)
treecf4c561b60130eb465918740910f70758f1072c7 /gcc
parentf5ad16f1db58dc8fdb5d4958dde592a76612db25 (diff)
downloadgcc-1a9f989a29b9c6c3d279ef1df00badc9a85d5d97.zip
gcc-1a9f989a29b9c6c3d279ef1df00badc9a85d5d97.tar.gz
gcc-1a9f989a29b9c6c3d279ef1df00badc9a85d5d97.tar.bz2
re PR c++/85713 (ICE in dependent_type_p, at cp/pt.c:24582 on valid code)
/cp 2018-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 Revert: 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84588 * parser.c (cp_parser_parameter_declaration_list): When the entire parameter-declaration-list is erroneous maybe call abort_fully_implicit_template. /testsuite 2018-05-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85713 Revert: 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84588 * g++.dg/cpp1y/pr84588.C: New. From-SVN: r260086
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog11
-rw-r--r--gcc/cp/parser.c2
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/pr84588.C10
4 files changed, 20 insertions, 12 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index bf56581..98249e9 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,14 @@
+2018-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/85713
+ Revert:
+ 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/84588
+ * parser.c (cp_parser_parameter_declaration_list): When the
+ entire parameter-declaration-list is erroneous maybe call
+ abort_fully_implicit_template.
+
2018-05-08 Jason Merrill <jason@redhat.com>
PR c++/85706 - class deduction under decltype
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 59829f3..f8ecf03 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -21344,8 +21344,6 @@ cp_parser_parameter_declaration_list (cp_parser* parser, bool *is_error)
{
*is_error = true;
parameters = error_mark_node;
- if (parser->fully_implicit_function_template_p)
- abort_fully_implicit_template (parser);
break;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index bbdc8b2..6f1c395 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2018-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/85713
+ Revert:
+ 2018-05-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/84588
+ * g++.dg/cpp1y/pr84588.C: New.
+
2018-05-09 Andreas Schwab <schwab@suse.de>
* gcc.target/aarch64/sve/vcond_6.c: Add missing brace.
diff --git a/gcc/testsuite/g++.dg/cpp1y/pr84588.C b/gcc/testsuite/g++.dg/cpp1y/pr84588.C
index 9d7f902..e69de29 100644
--- a/gcc/testsuite/g++.dg/cpp1y/pr84588.C
+++ b/gcc/testsuite/g++.dg/cpp1y/pr84588.C
@@ -1,10 +0,0 @@
-// { dg-do compile { target c++14 } }
-// { dg-options "-w" }
-
-struct a {
- void b() {}
- void c(auto = [] {
- if (a a(int auto){}) // { dg-error "two or more data types" }
- ;
- }) {}
-};