diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-09-22 02:18:40 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-09-22 02:18:40 +0000 |
commit | a626b0170c4adf9c29cc772cf0cb0254a9626939 (patch) | |
tree | 681b903baf6e5c00bd6a26fa36d56888d12ffcee | |
parent | d172bf39274242031769f4f08ed936776f4dbcae (diff) |
Add test case for PR4894 (it was fixed in LLVM).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82510 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CodeGenObjC/PR4894-recursive-debug-crash.m | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/CodeGenObjC/PR4894-recursive-debug-crash.m b/test/CodeGenObjC/PR4894-recursive-debug-crash.m new file mode 100644 index 0000000000..097d1344f2 --- /dev/null +++ b/test/CodeGenObjC/PR4894-recursive-debug-crash.m @@ -0,0 +1,39 @@ +// RUN: clang-cc -g -emit-llvm %s -o - | FileCheck %s +// PR4894 +// +// This test is actually just making sure we can generate the debug info for the +// return type from im0 without crashing. + +@interface I0 { + I0 *_iv0; +} +@end +@protocol P0 @end + +@interface I1 @end +@implementation I1 +- (I0<P0> *) im0 { +// CHECK: @"\01-[I1 im0]" +// CHECK: llvm.dbg.func.start + return 0; +} +@end + +// FIXME: This was another PR4894 test case, which is crashing somewhere +// else. PR5025. +#if 0 +typedef const struct objc_selector { + void *sel_id; + const char *sel_types; +} *SEL; + +@interface I2 ++(id) dictionary; +@end + +@implementation I3; ++(void) initialize { + I2 *a0 = [I2 dictionary]; +} +@end +#endif |