aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2018-08-13 15:36:30 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2018-08-13 15:36:30 +0000
commit27a98312c54b6c00a4e7deb1bf663547cd4f2dcc (patch)
tree2d7da6dde002bc0c00a96bb629b7bfb25ffe5ee3 /gcc
parent116c7f320e45d6903b525717ad1b24c281b0b7d1 (diff)
downloadgcc-27a98312c54b6c00a4e7deb1bf663547cd4f2dcc.zip
gcc-27a98312c54b6c00a4e7deb1bf663547cd4f2dcc.tar.gz
gcc-27a98312c54b6c00a4e7deb1bf663547cd4f2dcc.tar.bz2
re PR c++/86915 (Segmentation fault for an array of auto in template parameter)
PR c++/86915 * decl.c (create_array_type_for_decl): Handle null name. * g++.dg/diagnostic/auto1.C: New test. From-SVN: r263507
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/auto1.C4
4 files changed, 18 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index fc0771a..859085b 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2018-08-13 Marek Polacek <polacek@redhat.com>
+
+ PR c++/86915
+ * decl.c (create_array_type_for_decl): Handle null name.
+
2018-08-10 Jason Merrill <jason@redhat.com>
PR c++/86728 - C variadic generic lambda.
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 78ebbde..b021ff6 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -9838,7 +9838,10 @@ create_array_type_for_decl (tree name, tree type, tree size)
type-specifier, the program is ill-formed. */
if (type_uses_auto (type))
{
- error ("%qD declared as array of %qT", name, type);
+ if (name)
+ error ("%qD declared as array of %qT", name, type);
+ else
+ error ("creating array of %qT", type);
return error_mark_node;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 95d558f..c11b5c8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-08-13 Marek Polacek <polacek@redhat.com>
+
+ PR c++/86915
+ * g++.dg/diagnostic/auto1.C: New test.
+
2018-08-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/66679
diff --git a/gcc/testsuite/g++.dg/diagnostic/auto1.C b/gcc/testsuite/g++.dg/diagnostic/auto1.C
new file mode 100644
index 0000000..ee2eefd
--- /dev/null
+++ b/gcc/testsuite/g++.dg/diagnostic/auto1.C
@@ -0,0 +1,4 @@
+// PR c++/86915
+// { dg-do compile { target c++17 } }
+
+template<auto [1]> struct S; // { dg-error "creating array of .auto." }