aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Dwarf.cpp
diff options
context:
space:
mode:
authorFrederic Riss <friss@apple.com>2014-10-09 20:43:04 +0000
committerFrederic Riss <friss@apple.com>2014-10-09 20:43:04 +0000
commitb5e53eefb70816b24bdf1e913a9f0d80672b2243 (patch)
tree180b9335da38e93de7400726e5db81ae03e6bcae /llvm/lib/Support/Dwarf.cpp
parent1194b8fd403fbc50e795243d107fa8723b9fb8d2 (diff)
downloadllvm-b5e53eefb70816b24bdf1e913a9f0d80672b2243.zip
llvm-b5e53eefb70816b24bdf1e913a9f0d80672b2243.tar.gz
llvm-b5e53eefb70816b24bdf1e913a9f0d80672b2243.tar.bz2
Add ApplePropertyString dump helper to Dwarf.{h|cpp}.
Reviewers: dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5688 llvm-svn: 219442
Diffstat (limited to 'llvm/lib/Support/Dwarf.cpp')
-rw-r--r--llvm/lib/Support/Dwarf.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/llvm/lib/Support/Dwarf.cpp b/llvm/lib/Support/Dwarf.cpp
index 1a8f4a1..9c80fb0 100644
--- a/llvm/lib/Support/Dwarf.cpp
+++ b/llvm/lib/Support/Dwarf.cpp
@@ -750,6 +750,39 @@ const char *llvm::dwarf::CallFrameString(unsigned Encoding) {
return nullptr;
}
+/// ApplePropertyString - Return the string for the specified Apple
+/// property bit. This function is meant to return the symbolic name
+/// for 1 bit of the DW_AT_APPLE_property attribute, not for the whole attribute.
+const char *llvm::dwarf::ApplePropertyString(unsigned Prop) {
+ switch (Prop) {
+ case DW_APPLE_PROPERTY_readonly:
+ return "DW_APPLE_PROPERTY_readonly";
+ case DW_APPLE_PROPERTY_getter:
+ return "DW_APPLE_PROPERTY_getter";
+ case DW_APPLE_PROPERTY_assign:
+ return "DW_APPLE_PROPERTY_assign";
+ case DW_APPLE_PROPERTY_readwrite:
+ return "DW_APPLE_PROPERTY_readwrite";
+ case DW_APPLE_PROPERTY_retain:
+ return "DW_APPLE_PROPERTY_retain";
+ case DW_APPLE_PROPERTY_copy:
+ return "DW_APPLE_PROPERTY_copy";
+ case DW_APPLE_PROPERTY_nonatomic:
+ return "DW_APPLE_PROPERTY_nonatomic";
+ case DW_APPLE_PROPERTY_setter:
+ return "DW_APPLE_PROPERTY_setter";
+ case DW_APPLE_PROPERTY_atomic:
+ return "DW_APPLE_PROPERTY_atomic";
+ case DW_APPLE_PROPERTY_weak:
+ return "DW_APPLE_PROPERTY_weak";
+ case DW_APPLE_PROPERTY_strong:
+ return "DW_APPLE_PROPERTY_strong";
+ case DW_APPLE_PROPERTY_unsafe_unretained:
+ return "DW_APPLE_PROPERTY_unsafe_unretained";
+ }
+ return nullptr;
+}
+
const char *llvm::dwarf::AtomTypeString(unsigned AT) {
switch (AT) {
case dwarf::DW_ATOM_null: