aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/template
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2014-04-22 13:33:12 -0700
committerBen Cheng <bccheng@google.com>2014-04-22 13:33:12 -0700
commite3cc64dec20832769406aa38cde83c7dd4194bf4 (patch)
treeef8e39be37cfe0cb69d850043b7924389ff17164 /gcc-4.9/gcc/testsuite/g++.dg/template
parentf33c7b3122b1d7950efa88067c9a156229ba647b (diff)
downloadtoolchain_gcc-e3cc64dec20832769406aa38cde83c7dd4194bf4.tar.gz
toolchain_gcc-e3cc64dec20832769406aa38cde83c7dd4194bf4.tar.bz2
toolchain_gcc-e3cc64dec20832769406aa38cde83c7dd4194bf4.zip
[4.9] GCC 4.9.0 official release refresh
Change-Id: Ic99a7da8b44b789a48aeec93b33e93944d6e6767
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/template')
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/template/crash119.C8
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/template/crash97.C2
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/template/crash98.C2
-rw-r--r--gcc-4.9/gcc/testsuite/g++.dg/template/partial5.C4
4 files changed, 12 insertions, 4 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/template/crash119.C b/gcc-4.9/gcc/testsuite/g++.dg/template/crash119.C
new file mode 100644
index 000000000..95d80a8ff
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/g++.dg/template/crash119.C
@@ -0,0 +1,8 @@
+// PR c++/59115
+
+template<typename T, float, int, typename U> void foo(T, U) {} // { dg-error "valid type" }
+
+void bar()
+{
+ foo(0, 0); // { dg-error "matching" }
+}
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/template/crash97.C b/gcc-4.9/gcc/testsuite/g++.dg/template/crash97.C
index 3d177f4e5..7d2161f54 100644
--- a/gcc-4.9/gcc/testsuite/g++.dg/template/crash97.C
+++ b/gcc-4.9/gcc/testsuite/g++.dg/template/crash97.C
@@ -2,7 +2,7 @@
template<typename> struct A {};
-template<typename> struct A<int> // { dg-error "not used|template\\-parameter" }
+template<typename> struct A<int> // { dg-error "not deducible|template\\-parameter" }
{
template<int> void foo();
};
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/template/crash98.C b/gcc-4.9/gcc/testsuite/g++.dg/template/crash98.C
index a79ab02f6..9d7d2ece1 100644
--- a/gcc-4.9/gcc/testsuite/g++.dg/template/crash98.C
+++ b/gcc-4.9/gcc/testsuite/g++.dg/template/crash98.C
@@ -2,7 +2,7 @@
template < typename > struct A;
-template < typename > struct A < int > // { dg-error "not used|template\\-parameter|declaration" }
+template < typename > struct A < int > // { dg-error "not deducible|template\\-parameter|declaration" }
{
int i;
int f ();
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/template/partial5.C b/gcc-4.9/gcc/testsuite/g++.dg/template/partial5.C
index aa32e3b8a..979e4c62b 100644
--- a/gcc-4.9/gcc/testsuite/g++.dg/template/partial5.C
+++ b/gcc-4.9/gcc/testsuite/g++.dg/template/partial5.C
@@ -4,7 +4,7 @@ template<typename T>
struct X { };
template<typename T>
-struct X<typename T::foo> { }; // { dg-error "not used|T" }
+struct X<typename T::foo> { }; // { dg-error "not deducible|T" }
template<int N>
struct X<int[N]> {}; // okay
@@ -14,7 +14,7 @@ template<typename T, typename T::foo V>
struct Y { };
template<typename T, typename U, U v>
-struct Y<T, v> { }; // { dg-error "not used|U" }
+struct Y<T, v> { }; // { dg-error "not deducible|U" }
template<typename T, T V>