diff options
| author | Robert Lytton <robert@xmos.com> | 2014-05-02 09:33:25 +0000 |
|---|---|---|
| committer | Robert Lytton <robert@xmos.com> | 2014-05-02 09:33:25 +0000 |
| commit | 894d25c1e026c830b6d2211255f785e5da2dceaa (patch) | |
| tree | 4162c8392e09abcc4939792c43d797fd2376f789 | |
| parent | 844aeeb15a48c8ee88b5d657c849258c28d34e02 (diff) | |
| download | bcm5719-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.cpp | 5 | ||||
| -rw-r--r-- | clang/test/Driver/xcore-opts.c | 5 |
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" + |

