diff options
author | Jason Merrill <jason@redhat.com> | 2012-11-09 11:14:48 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2012-11-09 11:14:48 -0500 |
commit | 2a28e76a78ec4f3bb1219c4ba5795f86dccb43cd (patch) | |
tree | 9cb2e5549cdc7ec2b712fab0a2599a56a5e67135 | |
parent | 7dbb85a7932149aa5bac38fd77424b15c0248990 (diff) | |
download | gcc-2a28e76a78ec4f3bb1219c4ba5795f86dccb43cd.zip gcc-2a28e76a78ec4f3bb1219c4ba5795f86dccb43cd.tar.gz gcc-2a28e76a78ec4f3bb1219c4ba5795f86dccb43cd.tar.bz2 |
re PR c++/54859 (constexpr in template alias rejected as non-constant)
PR c++/54859
* pt.c (check_instantiated_arg): Don't complain about dependent args.
From-SVN: r193368
-rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/cp/pt.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/alias-decl-25.C | 10 |
4 files changed, 18 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4d6d954..59167be 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2012-11-09 Jason Merrill <jason@redhat.com> + PR c++/54859 + * pt.c (check_instantiated_arg): Don't complain about dependent args. + * tree.c (cxx_attribute_table): Add abi_tag attribute. (check_abi_tag_redeclaration, handle_abi_tag_attribute): New. * class.c (find_abi_tags_r, check_abi_tags): New. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 1ff1c73..50d12b0 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -14362,6 +14362,8 @@ tsubst_copy_and_build (tree t, static bool check_instantiated_arg (tree tmpl, tree t, tsubst_flags_t complain) { + if (dependent_template_arg_p (t)) + return false; if (ARGUMENT_PACK_P (t)) { tree vec = ARGUMENT_PACK_ARGS (t); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 608e017..e888313 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2012-11-09 Jason Merrill <jason@redhat.com> + PR c++/54859 + * g++.dg/cpp0x/alias-decl-25.C: New. + * g++.dg/abi/abi-tag1.C: New. * g++.dg/abi/abi-tag2.C: New. diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-25.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-25.C new file mode 100644 index 0000000..e72bd35 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/alias-decl-25.C @@ -0,0 +1,10 @@ +// PR c++/54859 +// { dg-options -std=c++11 } + +template<unsigned N> + using Num = int; + +template<typename... Types> + using Count = Num<sizeof...(Types)>; + +Count<int, char, void> i; |