1 // RUNX: llvm-gcc -m64 -fobjc-gc -emit-llvm -S -o %t %s &&
2 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -fobjc-gc -emit-llvm -o %t %s
3 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"A\\00"' %t
4 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\11q\\10\\00"' %t
5 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"!q\\00"' %t
6 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\01\\14\\00"' %t
7 // RUNX: llvm-gcc -ObjC++ -m64 -fobjc-gc -emit-llvm -S -o %t %s &&
8 // RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -fobjc-gc -emit-llvm -o %t %s
9 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"A\\00"' %t
10 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\11q\\10\\00"' %t
11 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"!q\\00"' %t
12 // RUN: grep '@"\\01L_OBJC_CLASS_NAME_.*" = internal global .* c"\\01\\14\\00"' %t
16 Here is a handy command for looking at llvm-gcc's output:
17 llvm-gcc -m64 -fobjc-gc -emit-llvm -S -o - ivar-layout-64.m | \
18 grep 'OBJC_CLASS_NAME.* =.*global' | \
19 sed -e 's#, section.*# ...#' | \
20 sed -e 's#_[0-9]*"#_NNN#' | \
52 @property (assign) __strong id p1;
53 @property (assign) __weak id p2;
56 // FIXME: Check layout for this class, once it is clear what the right
68 // FIXME: Check layout for this class, once it is clear what the right
74 typedef unsigned short UInt16;
77 typedef signed char BOOL;
78 typedef unsigned int FSCatalogInfoBitmap;
80 @interface NSFileLocationComponent {
83 id _specifierOrStandardizedPath;
84 BOOL _carbonCatalogInfoAndNameAreValid;
85 FSCatalogInfoBitmap _carbonCatalogInfoMask;
87 id _containerComponent;
89 id _iconAsAttributedString;
93 @implementation NSFileLocationComponent @end