summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaObjCXX/parameterized_classes_subst.mm
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2018-05-11 02:43:08 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2018-05-11 02:43:08 +0000
commit7981004eb7bdb6db6c3a1f7bc644acca997dc53f (patch)
treef57396e21aafc9c14f35bed1d2ddbf600f8122b5 /clang/test/SemaObjCXX/parameterized_classes_subst.mm
parent82de4e6b9337d55e66b80d1b4c82dd7c413fe8e3 (diff)
downloadbcm5719-llvm-7981004eb7bdb6db6c3a1f7bc644acca997dc53f.tar.gz
bcm5719-llvm-7981004eb7bdb6db6c3a1f7bc644acca997dc53f.zip
Improve diagnostics and error recovery for template name lookup.
For 'x::template y', consistently give a "no member named 'y' in 'x'" diagnostic if there is no such member, and give a 'template keyword not followed by a template' name error if there is such a member but it's not a template. In the latter case, add a note pointing at the non-template. Don't suggest inserting a 'template' keyword in 'X::Y<' if X is dependent if the lookup of X::Y was actually not a dependent lookup and found only non-templates. llvm-svn: 332076
Diffstat (limited to 'clang/test/SemaObjCXX/parameterized_classes_subst.mm')
-rw-r--r--clang/test/SemaObjCXX/parameterized_classes_subst.mm2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/test/SemaObjCXX/parameterized_classes_subst.mm b/clang/test/SemaObjCXX/parameterized_classes_subst.mm
index f342ac0224c..88d001274b1 100644
--- a/clang/test/SemaObjCXX/parameterized_classes_subst.mm
+++ b/clang/test/SemaObjCXX/parameterized_classes_subst.mm
@@ -419,7 +419,7 @@ struct DependentTemplate {
};
struct NSMutableDictionaryBuilder {
- typedef NSMutableDictionary apply;
+ typedef NSMutableDictionary apply; // expected-note 2{{declared as a non-template here}}
};
typedef DependentTemplate<NSMutableDictionaryBuilder>::type DependentTemplateFail1; // expected-note{{in instantiation of template class}}
OpenPOWER on IntegriCloud