summaryrefslogtreecommitdiff
path: root/test/SemaObjCXX
diff options
context:
space:
mode:
authorLarisse Voufo <lvoufo@google.com>2013-07-19 23:00:19 +0000
committerLarisse Voufo <lvoufo@google.com>2013-07-19 23:00:19 +0000
commit4384712b3a0aedd7c68d6abdb0407850f7b46c8b (patch)
tree289062be6437f8027bc6cb742333256f251e0171 /test/SemaObjCXX
parent8c5d4078bb40642847164e7613828262d32db973 (diff)
downloadclang-4384712b3a0aedd7c68d6abdb0407850f7b46c8b.tar.gz
FIXME fix: improving diagnostics for template arguments deduction of class templates and explicit specializations
This patch essentially removes all the FIXMEs following calls to DeduceTemplateArguments() that want to keep track of deduction failure info. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186730 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaObjCXX')
-rw-r--r--test/SemaObjCXX/arc-nsconsumed-errors.mm6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/SemaObjCXX/arc-nsconsumed-errors.mm b/test/SemaObjCXX/arc-nsconsumed-errors.mm
index 10ae10d049..c1ce81b669 100644
--- a/test/SemaObjCXX/arc-nsconsumed-errors.mm
+++ b/test/SemaObjCXX/arc-nsconsumed-errors.mm
@@ -29,11 +29,13 @@ void releaser(__attribute__((ns_consumed)) id);
releaser_t r2 = releaser; // no-warning
template <typename T>
-void templateFunction(T) {} // expected-note {{candidate function}}
+void templateFunction(T) { } // expected-note {{candidate function}} \
+ // expected-note {{candidate template ignored: could not match 'void (__strong id)' against 'void (id)'}} \
+ // expected-note {{candidate template ignored: failed template argument deduction}}
releaser_t r3 = templateFunction<id>; // expected-error {{address of overloaded function 'templateFunction' does not match required type 'void (id)'}}
template <typename T>
-void templateReleaser(__attribute__((ns_consumed)) T) {}
+void templateReleaser(__attribute__((ns_consumed)) T) { } // expected-note 2{{candidate template ignored: failed template argument deduction}}
releaser_t r4 = templateReleaser<id>; // no-warning