diff options
author | Marek Polacek <polacek@redhat.com> | 2018-08-13 15:36:30 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2018-08-13 15:36:30 +0000 |
commit | 27a98312c54b6c00a4e7deb1bf663547cd4f2dcc (patch) | |
tree | 2d7da6dde002bc0c00a96bb629b7bfb25ffe5ee3 | |
parent | 116c7f320e45d6903b525717ad1b24c281b0b7d1 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/diagnostic/auto1.C | 4 |
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." } |