52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5  %s -o %t-rw.cpp
 | |
| // RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"id=struct objc_object*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
 | |
| 
 | |
| void *sel_registerName(const char *);
 | |
| void objc_enumerationMutation(id);
 | |
| 
 | |
| @interface MyList
 | |
| - (id) allKeys;
 | |
| @end
 | |
|     
 | |
| @implementation MyList
 | |
| - (unsigned int)countByEnumeratingWithState:  (struct __objcFastEnumerationState *)state objects:  (id *)items count:(unsigned int)stackcount
 | |
| {
 | |
|         return 0;
 | |
| }
 | |
| - (id) allKeys { return 0; }
 | |
| @end
 | |
| 
 | |
| @interface MyList (BasicTest)
 | |
| - (void)compilerTestAgainst;
 | |
| @end
 | |
| 
 | |
| int LOOP();
 | |
| @implementation MyList (BasicTest)
 | |
| - (void)compilerTestAgainst {
 | |
|   MyList * el;
 | |
|   int i;
 | |
|         for (el in [el allKeys]) { 
 | |
| 		for (i = 0; i < 10; i++)
 | |
| 		  if (i == 5)
 | |
| 		   break;
 | |
| 
 | |
| 		if (el == 0)
 | |
| 		 break;
 | |
| 		if (el != self)
 | |
| 		  continue;
 | |
| 		LOOP(); 
 | |
| 	  }
 | |
| 
 | |
|         for (id el1 in[el allKeys]) { 
 | |
| 	    LOOP(); 
 | |
| 	    for (el in self) {
 | |
| 	      if (el)
 | |
| 		continue;
 | |
| 	    }
 | |
| 	    if (el1)
 | |
| 	      break;
 | |
| 	  }
 | |
| }
 | |
| @end
 | |
| 
 |