From c5f4c36029e98c3d2a6d311f4c6d478f656ba201 Mon Sep 17 00:00:00 2001 From: Hans Wennborg Date: Wed, 20 Mar 2013 07:34:27 +0000 Subject: [PATCH] Fix redundant comparison in gcc::Common::ConstructJob. We were checking "Arch == llvm::Triple::x86_64 || Arch == llvm::Triple::x86_64", but the rhs should actually check for powerpc64. Found while experimenting with a potential new Clang warning. llvm-svn: 177496 --- clang/lib/Driver/Tools.cpp | 2 +- clang/test/Driver/unknown-gcc-arch.c | 40 ++++++++++++++++++++++++++++-------- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 9a6a1f2..2a07c90 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -3631,7 +3631,7 @@ void gcc::Common::ConstructJob(Compilation &C, const JobAction &JA, // here. if (Arch == llvm::Triple::x86 || Arch == llvm::Triple::ppc) CmdArgs.push_back("-m32"); - else if (Arch == llvm::Triple::x86_64 || Arch == llvm::Triple::x86_64) + else if (Arch == llvm::Triple::x86_64 || Arch == llvm::Triple::ppc64) CmdArgs.push_back("-m64"); if (Output.isFilename()) { diff --git a/clang/test/Driver/unknown-gcc-arch.c b/clang/test/Driver/unknown-gcc-arch.c index 5e4746b..dcd17d4 100644 --- a/clang/test/Driver/unknown-gcc-arch.c +++ b/clang/test/Driver/unknown-gcc-arch.c @@ -1,8 +1,32 @@ -// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### 2> %t.log -// RUN: grep '.*gcc.*"-m64"' %t.log -// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### -m32 2> %t.log -// RUN: grep '.*gcc.*"-m32"' %t.log -// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### 2> %t.log -// RUN: grep '.*gcc.*"-m32"' %t.log -// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### -m64 2> %t.log -// RUN: grep '.*gcc.*"-m64"' %t.log +// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=X86_64 %s +// X86_64: {{.*gcc.*-m64}} + +// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### -m32 2>&1 \ +// RUN: | FileCheck -check-prefix=X86_64-M32 %s +// X86_64-M32: {{.*gcc.*-m32}} + +// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=I386 %s +// I386: {{.*gcc.*-m32}} + +// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### -m64 2>&1 \ +// RUN: | FileCheck -check-prefix=I386-M64 %s +// I386-M64: {{.*gcc.*-m64}} + + +// RUN: %clang -target powerpc64-unknown-unknown -c -x assembler %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=PPC64 %s +// PPC64: {{.*gcc.*-m64}} + +// RUN: %clang -target powerpc64-unknown-unknown -c -x assembler %s -### -m32 2>&1 \ +// RUN: | FileCheck -check-prefix=PPC64-M32 %s +// PPC64-M32: {{.*gcc.*-m32}} + +// RUN: %clang -target powerpc-unknown-unknown -c -x assembler %s -### 2>&1 \ +// RUN: | FileCheck -check-prefix=PPC %s +// PPC: {{.*gcc.*-m32}} + +// RUN: %clang -target powerpc-unknown-unknown -c -x assembler %s -### -m64 2>&1 \ +// RUN: | FileCheck -check-prefix=PPC-M64 %s +// PPC-M64: {{.*gcc.*-m64}} -- 2.7.4