summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Lytton <robert@xmos.com>2014-05-02 09:33:25 +0000
committerRobert Lytton <robert@xmos.com>2014-05-02 09:33:25 +0000
commit894d25c1e026c830b6d2211255f785e5da2dceaa (patch)
tree4162c8392e09abcc4939792c43d797fd2376f789
parent844aeeb15a48c8ee88b5d657c849258c28d34e02 (diff)
downloadbcm5719-llvm-894d25c1e026c830b6d2211255f785e5da2dceaa.tar.gz
bcm5719-llvm-894d25c1e026c830b6d2211255f785e5da2dceaa.zip
XCore target: fix handling of -g0 flag
llvm-svn: 207833
-rw-r--r--clang/lib/Driver/Tools.cpp5
-rw-r--r--clang/test/Driver/xcore-opts.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 94d13b2b5fc..a39b1517665 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -7622,8 +7622,9 @@ void XCore::Assemble::ConstructJob(Compilation &C, const JobAction &JA,
if (Args.hasArg(options::OPT_v))
CmdArgs.push_back("-v");
- if (Args.hasArg(options::OPT_g_Group))
- CmdArgs.push_back("-g");
+ if (Arg *A = Args.getLastArg(options::OPT_g_Group))
+ if (!A->getOption().matches(options::OPT_g0))
+ CmdArgs.push_back("-g");
if (Args.hasFlag(options::OPT_fverbose_asm, options::OPT_fno_verbose_asm,
false))
diff --git a/clang/test/Driver/xcore-opts.c b/clang/test/Driver/xcore-opts.c
index 1fa9ee62798..161756dbf02 100644
--- a/clang/test/Driver/xcore-opts.c
+++ b/clang/test/Driver/xcore-opts.c
@@ -1,6 +1,7 @@
// RUN: %clang -target xcore %s -g -Wl,L1Arg,L2Arg -Wa,A1Arg,A2Arg -fverbose-asm -v -### -o %t.o 2>&1 | FileCheck %s
// RUN: %clang -target xcore -x c++ %s -g -Wl,L1Arg,L2Arg -Wa,A1Arg,A2Arg -fverbose-asm -v -### -o %t.o 2>&1 | FileCheck %s
// RUN: %clang -target xcore -x c++ %s -fexceptions -### -o %t.o 2>&1 | FileCheck -check-prefix CHECK-EXCEP %s
+// RUN: %clang -target xcore %s -g0 -### -o %t.o 2>&1 | FileCheck -check-prefix CHECK-G0 %s
// CHECK: "-nostdsysteminc"
// CHECK: "-momit-leaf-frame-pointer"
@@ -27,3 +28,7 @@
// CHECK-EXCEP: xcc" "-o"
// CHECK-EXCEP: "-fexceptions"
+// CHECK-G0: xcc"
+// CHECK-G0-NOT: "-g"
+// CHECK-G0: xcc"
+
OpenPOWER on IntegriCloud