| Daniel Dunbar | 718bb48 | 2009-09-22 03:50:39 +0000 | [diff] [blame^] | 1 | // RUN: clang-cc -triple i386-apple-darwin9 -g -emit-llvm %s -o - | FileCheck %s | 
| Daniel Dunbar | a626b01 | 2009-09-22 02:18:40 +0000 | [diff] [blame] | 2 | // PR4894 | 
|  | 3 | // | 
|  | 4 | // This test is actually just making sure we can generate the debug info for the | 
|  | 5 | // return type from im0 without crashing. | 
|  | 6 |  | 
|  | 7 | @interface I0 { | 
|  | 8 | I0 *_iv0; | 
|  | 9 | } | 
|  | 10 | @end | 
|  | 11 | @protocol P0 @end | 
|  | 12 |  | 
|  | 13 | @interface I1 @end | 
|  | 14 | @implementation I1 | 
|  | 15 | - (I0<P0> *) im0 { | 
|  | 16 | // CHECK: @"\01-[I1 im0]" | 
|  | 17 | // CHECK: llvm.dbg.func.start | 
|  | 18 | return 0; | 
|  | 19 | } | 
|  | 20 | @end | 
|  | 21 |  | 
|  | 22 | // FIXME: This was another PR4894 test case, which is crashing somewhere | 
|  | 23 | // else. PR5025. | 
|  | 24 | #if 0 | 
|  | 25 | typedef const struct objc_selector { | 
|  | 26 | void *sel_id; | 
|  | 27 | const char *sel_types; | 
|  | 28 | } *SEL; | 
|  | 29 |  | 
|  | 30 | @interface I2 | 
|  | 31 | +(id) dictionary; | 
|  | 32 | @end | 
|  | 33 |  | 
|  | 34 | @implementation I3; | 
|  | 35 | +(void) initialize { | 
|  | 36 | I2 *a0 = [I2 dictionary]; | 
|  | 37 | } | 
|  | 38 | @end | 
|  | 39 | #endif |