clang/Driver: [PR12920] Don't forward any -W arguments to gcc-as and gcc-ld.
AFAIK, there are no -W options for gcc-as and gcc-ld. It caused failure to build clang with gcc-4.7 on cygwin. FIXME: Could we recategorize Options for gcc-as and gcc-ld? llvm-svn: 188668
This commit is contained in:
parent
bca169c185
commit
053704f959
|
@ -3906,6 +3906,11 @@ void gcc::Common::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
A->getOption().matches(options::OPT_g_Group))
|
||||
continue;
|
||||
|
||||
// Don't forward any -W arguments to assembly and link steps.
|
||||
if ((isa<AssembleJobAction>(JA) || isa<LinkJobAction>(JA)) &&
|
||||
A->getOption().matches(options::OPT_W_Group))
|
||||
continue;
|
||||
|
||||
// It is unfortunate that we have to claim here, as this means
|
||||
// we will basically never report anything interesting for
|
||||
// platforms using a generic gcc, even if we are just using gcc
|
||||
|
|
|
@ -1,18 +1,44 @@
|
|||
// Check that we don't try to forward -Xclang or -mlinker-version to GCC.
|
||||
// PR12920 -- Check also we may not forward W_Group options to GCC.
|
||||
//
|
||||
// RUN: %clang -target powerpc-unknown-unknown \
|
||||
// RUN: -c %s \
|
||||
// RUN: %s \
|
||||
// RUN: -Wall -Wdocumentation \
|
||||
// RUN: -Xclang foo-bar \
|
||||
// RUN: -march=x86_64 \
|
||||
// RUN: -mlinker-version=10 -### 2> %t
|
||||
// RUN: FileCheck < %t %s
|
||||
//
|
||||
// CHECK: gcc{{.*}}"
|
||||
// clang-cc1
|
||||
// CHECK: "-Wall" "-Wdocumentation"
|
||||
// CHECK: "-o" "{{[^"]+}}.s"
|
||||
//
|
||||
// gcc-as
|
||||
// CHECK: gcc{{[^"]*}}"
|
||||
// CHECK-NOT: "-mlinker-version=10"
|
||||
// CHECK-NOT: "-Xclang"
|
||||
// CHECK-NOT: "foo-bar"
|
||||
// CHECK-NOT: "-Wall"
|
||||
// CHECK-NOT: "-Wdocumentation"
|
||||
// CHECK: -march
|
||||
// CHECK-NOT: "-mlinker-version=10"
|
||||
// CHECK-NOT: "-Xclang"
|
||||
// CHECK-NOT: "foo-bar"
|
||||
// CHECK: gcc_forward
|
||||
// CHECK-NOT: "-Wall"
|
||||
// CHECK-NOT: "-Wdocumentation"
|
||||
// CHECK: "-o" "{{[^"]+}}.o"
|
||||
//
|
||||
// gcc-ld
|
||||
// CHECK: gcc{{[^"]*}}"
|
||||
// CHECK-NOT: "-mlinker-version=10"
|
||||
// CHECK-NOT: "-Xclang"
|
||||
// CHECK-NOT: "foo-bar"
|
||||
// CHECK-NOT: "-Wall"
|
||||
// CHECK-NOT: "-Wdocumentation"
|
||||
// CHECK: -march
|
||||
// CHECK-NOT: "-mlinker-version=10"
|
||||
// CHECK-NOT: "-Xclang"
|
||||
// CHECK-NOT: "foo-bar"
|
||||
// CHECK-NOT: "-Wall"
|
||||
// CHECK-NOT: "-Wdocumentation"
|
||||
// CHECK: "-o" "a.out"
|
||||
|
|
Loading…
Reference in New Issue