diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-02-21 01:02:18 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-02-21 01:02:18 +0000 |
commit | 9f8d4037a61e8e99738a3fe6a188ebefc8cda2c7 (patch) | |
tree | 81c992bff16573e12050847c30875ab89ad46d8f /utils/vim | |
parent | 8629ae24e7fb14a9cadc5fc11dcbf262d665592f (diff) |
AsmParser/Writer: Handle symbolic constants in DI 'flags:'
Parse (and write) symbolic constants in debug info `flags:` fields.
This prevents a readability (and CHECK-ability) regression with the new
debug info hierarchy.
Old (well, current) assembly, with pretty-printing:
!{!"...\\0016387", ...} ; ... [public] [rvalue reference]
Flags field without this change:
!MDDerivedType(flags: 16387, ...)
Flags field with this change:
!MDDerivedType(flags: DIFlagPublic | DIFlagRValueReference, ...)
As discussed in the review thread, this isn't a final state. Most of
these flags correspond to `DW_AT_` symbolic constants, and we might
eventually want to support arbitrary attributes in some form. However,
as it stands now, some of the flags correspond to other concepts (like
`FlagStaticMember`); until things are refactored this is the simplest
way to move forward without regressing assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230111 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/vim')
-rw-r--r-- | utils/vim/llvm.vim | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/utils/vim/llvm.vim b/utils/vim/llvm.vim index 6b4b8bbd12b..913d0f5f1c3 100644 --- a/utils/vim/llvm.vim +++ b/utils/vim/llvm.vim @@ -82,6 +82,7 @@ syn match llvmConstant /\<DW_ATE_[a-zA-Z_]\+\>/ syn match llvmConstant /\<DW_OP_[a-zA-Z0-9_]\+\>/ syn match llvmConstant /\<DW_LANG_[a-zA-Z0-9_]\+\>/ syn match llvmConstant /\<DW_VIRTUALITY_[a-z_]\+\>/ +syn match llvmConstant /\<DIFlag[A-Za-z]\+\>/ " Syntax-highlight dejagnu test commands. syn match llvmSpecialComment /;\s*RUN:.*$/ |