diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2013-10-31 12:09:17 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2013-10-31 12:09:17 +0000 |
commit | 7dccc537ba7927aceef585179e2e3f6132029c96 (patch) | |
tree | 0749711618823122c02b735ee050446664e8d390 | |
parent | 39344c992725ed6535faae6414806afd6fc04189 (diff) | |
download | gcc-7dccc537ba7927aceef585179e2e3f6132029c96.zip gcc-7dccc537ba7927aceef585179e2e3f6132029c96.tar.gz gcc-7dccc537ba7927aceef585179e2e3f6132029c96.tar.bz2 |
re PR c++/58932 ([C++11] Deleted functions and SFINAE in partial template specializations)
/cp
2013-10-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58932
Revert:
2013-10-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58466
* pt.c (most_specialized_class): Bump processing_template_decl for
get_class_bindings.
/testsuite
2013-10-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58932
Revert:
2013-10-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58466
* g++.dg/cpp0x/variadic145.C: New.
* g++.dg/cpp0x/sfinae49.C: New.
From-SVN: r204250
-rw-r--r-- | gcc/cp/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/cp/pt.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/variadic145.C | 10 |
4 files changed, 21 insertions, 15 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 04dd264..d4c9143 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,13 @@ +2013-10-31 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58932 + Revert: + 2013-10-18 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58466 + * pt.c (most_specialized_class): Bump processing_template_decl for + get_class_bindings. + 2013-10-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58581 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index db08d1d..6f4987c 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -18616,15 +18616,10 @@ most_specialized_class (tree type, tree tmpl, tsubst_flags_t complain) if (spec_tmpl == error_mark_node) return error_mark_node; - ++processing_template_decl; - tree parms = DECL_INNERMOST_TEMPLATE_PARMS (spec_tmpl); spec_args = get_class_bindings (tmpl, parms, partial_spec_args, args); - - --processing_template_decl; - if (spec_args) { if (outer_args) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6819ed0..f3ccb15 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2013-10-31 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58932 + Revert: + 2013-10-18 Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/58466 + * g++.dg/cpp0x/variadic145.C: New. + + * g++.dg/cpp0x/sfinae49.C: New. + 2013-10-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58581 diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic145.C b/gcc/testsuite/g++.dg/cpp0x/variadic145.C deleted file mode 100644 index 65e4607..0000000 --- a/gcc/testsuite/g++.dg/cpp0x/variadic145.C +++ /dev/null @@ -1,10 +0,0 @@ -// PR c++/58466 -// { dg-do compile { target c++11 } } - -template<char, char...> struct A; - -template<typename> struct B; - -template<char... C> struct B<A<C...>> {}; - -B<A<'X'>> b; // { dg-error "incomplete type" } |