[cfe-commits] r158530 - /cfe/trunk/test/SemaObjCXX/arc-0x.mm

Jordan Rose jordan_rose at apple.com
Fri Jun 15 11:19:43 PDT 2012


Author: jrose
Date: Fri Jun 15 13:19:43 2012
New Revision: 158530

URL: http://llvm.org/viewvc/llvm-project?rev=158530&view=rev
Log:
Test that -Wauto-var-id fires in value-dependent contexts.

There was already a test that it did not fire in type-dependent contexts.
This was already behaving correctly.

Modified:
    cfe/trunk/test/SemaObjCXX/arc-0x.mm

Modified: cfe/trunk/test/SemaObjCXX/arc-0x.mm
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjCXX/arc-0x.mm?rev=158530&r1=158529&r2=158530&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjCXX/arc-0x.mm (original)
+++ cfe/trunk/test/SemaObjCXX/arc-0x.mm Fri Jun 15 13:19:43 2012
@@ -60,15 +60,21 @@
   auto x = obj; // expected-warning{{'auto' deduced as 'id' in declaration of 'x'}}
 }
 
+ at interface Array
++ (instancetype)new;
+- (id)objectAtIndex:(int)index;
+ at end
+
 // ...but don't warn if it's coming from a template parameter.
-template<typename T>
-void autoTemplateFunction(T param, id obj) {
+template<typename T, int N>
+void autoTemplateFunction(T param, id obj, Array *arr) {
   auto x = param; // no-warning
   auto y = obj; // expected-warning{{'auto' deduced as 'id' in declaration of 'y'}}
+  auto z = [arr objectAtIndex:N]; // expected-warning{{'auto' deduced as 'id' in declaration of 'z'}}
 }
 
 void testAutoIdTemplate(id obj) {
-  autoTemplateFunction(obj, obj); // no-warning
+  autoTemplateFunction<id, 2>(obj, obj, [Array new]); // no-warning
 }
 
 





More information about the cfe-commits mailing list