summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/dwarfdump-objc.test
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2016-07-14 00:41:18 +0000
committerAdrian Prantl <aprantl@apple.com>2016-07-14 00:41:18 +0000
commit0418ef2691110903254f98214a869ddd682a31e7 (patch)
tree17a884c0ac6894929c4f25e220125332d31129da /llvm/test/DebugInfo/dwarfdump-objc.test
parentae610ab528a382a393aae26d2d67cee05cabe634 (diff)
downloadbcm5719-llvm-0418ef2691110903254f98214a869ddd682a31e7.tar.gz
bcm5719-llvm-0418ef2691110903254f98214a869ddd682a31e7.zip
Synchronize LLVM and clang's ObjCDeclSpec::ObjCPropertyAttributeKind.
This adds Clang-specific DWARF constants for nullability and ObjC class properties that are already generated by clang. This patch adds dwarfdump support and a more comprehensive testcase. <rdar://problem/27335745> llvm-svn: 275354
Diffstat (limited to 'llvm/test/DebugInfo/dwarfdump-objc.test')
-rw-r--r--llvm/test/DebugInfo/dwarfdump-objc.test47
1 files changed, 41 insertions, 6 deletions
diff --git a/llvm/test/DebugInfo/dwarfdump-objc.test b/llvm/test/DebugInfo/dwarfdump-objc.test
index 6890c3a0471..60d0d2ff2e5 100644
--- a/llvm/test/DebugInfo/dwarfdump-objc.test
+++ b/llvm/test/DebugInfo/dwarfdump-objc.test
@@ -6,35 +6,70 @@ CHECK: DW_TAG_APPLE_property
CHECK-NOT: TAG
CHECK: DW_AT_APPLE_property_name {{.*}} "ReadOnly"
CHECK-NOT: TAG
-CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x01 (DW_APPLE_PROPERTY_readonly))
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x0101 (DW_APPLE_PROPERTY_readonly, DW_APPLE_PROPERTY_atomic))
CHECK: DW_TAG_APPLE_property
CHECK-NOT: TAG
CHECK: DW_AT_APPLE_property_name {{.*}} "Assign"
CHECK-NOT: TAG
-CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x0c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite))
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x090c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained))
CHECK: DW_TAG_APPLE_property
CHECK-NOT: TAG
CHECK: DW_AT_APPLE_property_name {{.*}} "ReadWrite"
CHECK-NOT: TAG
-CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x0c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite))
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x090c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained))
CHECK: DW_TAG_APPLE_property
CHECK-NOT: TAG
CHECK: DW_AT_APPLE_property_name {{.*}} "Retain"
CHECK-NOT: TAG
-CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x18 (DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_retain))
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x0118 (DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_retain, DW_APPLE_PROPERTY_atomic))
CHECK: DW_TAG_APPLE_property
CHECK-NOT: TAG
CHECK: DW_AT_APPLE_property_name {{.*}} "Copy"
CHECK-NOT: TAG
-CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x28 (DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_copy))
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x0128 (DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_copy, DW_APPLE_PROPERTY_atomic))
CHECK: DW_TAG_APPLE_property
CHECK-NOT: TAG
CHECK: DW_AT_APPLE_property_name {{.*}} "NonAtomic"
CHECK-NOT: TAG
-CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x4c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_nonatomic))
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x084c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_nonatomic, DW_APPLE_PROPERTY_unsafe_unretained))
+CHECK: DW_TAG_APPLE_property
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_name {{.*}} "Atomic"
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x090c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained))
+
+CHECK: DW_TAG_APPLE_property
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_name {{.*}} "Strong"
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x0508 (DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_strong))
+
+CHECK: DW_TAG_APPLE_property
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_name {{.*}} "UnsafeUnretained"
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x090c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained))
+
+CHECK: DW_TAG_APPLE_property
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_name {{.*}} "Nullability"
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x190c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained, DW_APPLE_PROPERTY_nullability))
+
+CHECK: DW_TAG_APPLE_property
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_name {{.*}} "NullResettable"
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x390c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained, DW_APPLE_PROPERTY_nullability, DW_APPLE_PROPERTY_null_resettable))
+
+CHECK: DW_TAG_APPLE_property
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_name {{.*}} "ClassProperty"
+CHECK-NOT: TAG
+CHECK: DW_AT_APPLE_property_attribute {{.*}} (0x490c (DW_APPLE_PROPERTY_assign, DW_APPLE_PROPERTY_readwrite, DW_APPLE_PROPERTY_atomic, DW_APPLE_PROPERTY_unsafe_unretained, DW_APPLE_PROPERTY_class))
OpenPOWER on IntegriCloud