aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2013-10-31 12:09:17 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2013-10-31 12:09:17 +0000
commit7dccc537ba7927aceef585179e2e3f6132029c96 (patch)
tree0749711618823122c02b735ee050446664e8d390
parent39344c992725ed6535faae6414806afd6fc04189 (diff)
downloadgcc-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/ChangeLog10
-rw-r--r--gcc/cp/pt.c5
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic145.C10
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" }