aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl2.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-05-15 14:06:48 -0400
committerJason Merrill <jason@redhat.com>2020-05-15 14:06:57 -0400
commitcda6396a1b6e6bba2a3b0847931567c3458f2184 (patch)
tree0886bfbae0e65f66cf1fa84dae41a69a1e0a11d1 /gcc/cp/decl2.c
parent4c1a5d8b71e29b71e0bc1004480c12c5fc427cb7 (diff)
downloadgcc-cda6396a1b6e6bba2a3b0847931567c3458f2184.zip
gcc-cda6396a1b6e6bba2a3b0847931567c3458f2184.tar.gz
gcc-cda6396a1b6e6bba2a3b0847931567c3458f2184.tar.bz2
PR c++/93286 - ICE with __is_constructible and variadic template.
My GCC 10 patch for 93286 fixed the missing piece in tsubst's handling of lists vs. that in tsubst_copy_and_build, but it would be better to share the code between them. gcc/cp/ChangeLog 2020-05-15 Jason Merrill <jason@redhat.com> PR c++/93286 - ICE with __is_constructible and variadic template. * pt.c (tsubst_tree_list): New. (tsubst, tsubst_copy_and_build): Use it. * decl2.c (is_late_template_attribute): Handle error_mark_node args.
Diffstat (limited to 'gcc/cp/decl2.c')
-rw-r--r--gcc/cp/decl2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 4767d53..449c86c 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1173,6 +1173,9 @@ is_late_template_attribute (tree attr, tree decl)
&& is_attribute_p ("omp declare simd", name))
return true;
+ if (args == error_mark_node)
+ return false;
+
/* An attribute pack is clearly dependent. */
if (args && PACK_EXPANSION_P (args))
return true;