forked from OSchip/llvm-project
[DebugInfo] Fine tune emitting flags as part of the producer
When using APPLE extensions, don't duplicate the compiler invocation's flags both in AT_producer and AT_APPLE_flags. Differential revision: https://reviews.llvm.org/D50453 llvm-svn: 339268
This commit is contained in:
parent
fe839695a8
commit
caacedb03e
|
@ -544,7 +544,7 @@ DwarfDebug::getOrCreateDwarfCompileUnit(const DICompileUnit *DIUnit) {
|
|||
|
||||
StringRef Producer = DIUnit->getProducer();
|
||||
StringRef Flags = DIUnit->getFlags();
|
||||
if (!Flags.empty()) {
|
||||
if (!Flags.empty() && !useAppleExtensionAttributes()) {
|
||||
std::string ProducerWithFlags = Producer.str() + " " + Flags.str();
|
||||
NewCU.addString(Die, dwarf::DW_AT_producer, ProducerWithFlags);
|
||||
} else
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
; RUN: llc -mtriple=x86_64-unknown-linux-gnu %s -o %t -filetype=obj
|
||||
; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s
|
||||
; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s --check-prefix LINUX
|
||||
; RUN: llc -mtriple=x86_64-apple-macosx %s -o %t -filetype=obj
|
||||
; RUN: llvm-dwarfdump -debug-info %t | FileCheck %s --check-prefix DARWIN
|
||||
;
|
||||
; Test the DW_AT_producer DWARF attribute.
|
||||
; When producer and flags are both given in DIComileUnit, set DW_AT_producer
|
||||
|
@ -16,8 +18,10 @@
|
|||
; return 0;
|
||||
; }
|
||||
|
||||
; CHECK: DW_AT_producer
|
||||
; CHECK-SAME: "clang++ -g -grecord-gcc-switches test.cc -S -emit-llvm -o -"
|
||||
; LINUX: DW_AT_producer{{.*}}("clang++ -g -grecord-gcc-switches test.cc -S -emit-llvm -o -")
|
||||
; DARWIN: DW_AT_producer{{.*}}("clang++")
|
||||
; DARWIN: DW_AT_APPLE_flags{{.*}}("-g -grecord-gcc-switches test.cc -S -emit-llvm -o -")
|
||||
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
||||
define i32 @main() !dbg !6 {
|
||||
|
|
Loading…
Reference in New Issue