diff options
author | Amjad Aboud <amjad.aboud@intel.com> | 2017-02-09 22:07:24 +0000 |
---|---|---|
committer | Amjad Aboud <amjad.aboud@intel.com> | 2017-02-09 22:07:24 +0000 |
commit | 546bc1103b682c4ea66116ddaf0fc6fdf0a8bdd5 (patch) | |
tree | aab363349d875697db614ab98a7324d01b777a5c /clang/lib/CodeGen/CGDebugInfo.cpp | |
parent | ef089bdb4ba4dbeee0cd519a352fee93f3a8f09c (diff) | |
download | bcm5719-llvm-546bc1103b682c4ea66116ddaf0fc6fdf0a8bdd5.tar.gz bcm5719-llvm-546bc1103b682c4ea66116ddaf0fc6fdf0a8bdd5.zip |
[DebugInfo] Added support to Clang FE for generating debug info for preprocessor macros.
Added "-fdebug-macro" flag (and "-fno-debug-macro" flag) to enable (and to disable) emitting macro debug info.
Added CC1 "-debug-info-macro" flag that enables emitting macro debug info.
Differential Revision: https://reviews.llvm.org/D16135
llvm-svn: 294637
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index 7eb0af2d371..b48714f69b9 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -2419,6 +2419,21 @@ llvm::DIType *CGDebugInfo::CreateTypeDefinition(const EnumType *Ty) { FullName); } +llvm::DIMacro *CGDebugInfo::CreateMacro(llvm::DIMacroFile *Parent, + unsigned MType, SourceLocation LineLoc, + StringRef Name, StringRef Value) { + unsigned Line = LineLoc.isInvalid() ? 0 : getLineNumber(LineLoc); + return DBuilder.createMacro(Parent, Line, MType, Name, Value); +} + +llvm::DIMacroFile *CGDebugInfo::CreateTempMacroFile(llvm::DIMacroFile *Parent, + SourceLocation LineLoc, + SourceLocation FileLoc) { + llvm::DIFile *FName = getOrCreateFile(FileLoc); + unsigned Line = LineLoc.isInvalid() ? 0 : getLineNumber(LineLoc); + return DBuilder.createTempMacroFile(Parent, Line, FName); +} + static QualType UnwrapTypeForDebugInfo(QualType T, const ASTContext &C) { Qualifiers Quals; do { |