"const std::vector<int>*" not "std::vector<int> const*"
llvm-svn: 113094
diff --git a/clang/lib/AST/TypePrinter.cpp b/clang/lib/AST/TypePrinter.cpp
index f33c5ae..9e7f130 100644
--- a/clang/lib/AST/TypePrinter.cpp
+++ b/clang/lib/AST/TypePrinter.cpp
@@ -74,7 +74,7 @@
// type expands to a simple string.
bool CanPrefixQualifiers =
isa<BuiltinType>(T) || isa<TypedefType>(T) || isa<TagType>(T) ||
- isa<ComplexType>(T);
+ isa<ComplexType>(T) || isa<TemplateSpecializationType>(T);
if (!CanPrefixQualifiers && !Quals.empty()) {
std::string TQS;
diff --git a/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp b/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp
index df3429e..1e5a823 100644
--- a/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp
+++ b/clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp
@@ -44,7 +44,7 @@
// PR6716
namespace test1 {
template <class T> class A {
- template <class U> friend void foo(A &, U); // expected-note {{not viable: 1st argument ('A<int> const') would lose const qualifier}}
+ template <class U> friend void foo(A &, U); // expected-note {{not viable: 1st argument ('const A<int>') would lose const qualifier}}
};
void test() {
diff --git a/clang/test/SemaTemplate/class-template-id.cpp b/clang/test/SemaTemplate/class-template-id.cpp
index 50e0b00..3b02778 100644
--- a/clang/test/SemaTemplate/class-template-id.cpp
+++ b/clang/test/SemaTemplate/class-template-id.cpp
@@ -9,7 +9,7 @@
if (ptr)
return ptr; // okay
else if (ptr2)
- return ptr2; // expected-error{{cannot initialize return object of type 'A<int, FLOAT> *' with an lvalue of type 'A<int> const *'}}
+ return ptr2; // expected-error{{cannot initialize return object of type 'A<int, FLOAT> *' with an lvalue of type 'const A<int> *'}}
else {
return ptr3; // expected-error{{cannot initialize return object of type 'A<int, FLOAT> *' with an lvalue of type 'A<int, double> *'}}
}