summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp2
-rw-r--r--llvm/test/DebugInfo/X86/debug-info-producer-with-flags.ll10
2 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 388fe8a822f..6ee1de0dba3 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -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
diff --git a/llvm/test/DebugInfo/X86/debug-info-producer-with-flags.ll b/llvm/test/DebugInfo/X86/debug-info-producer-with-flags.ll
index 5672671b3d2..d055cc6a2f3 100644
--- a/llvm/test/DebugInfo/X86/debug-info-producer-with-flags.ll
+++ b/llvm/test/DebugInfo/X86/debug-info-producer-with-flags.ll
@@ -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 {
OpenPOWER on IntegriCloud