r195676 - Make the integrated assembler the default for cygwin/mingw too.

NAKAMURA Takumi geek4civic at gmail.com
Sat Nov 30 05:10:33 PST 2013


Rafael,

Since llvm's r195798, clang -no-integrated-as has been broken, at
least on cygming gnu as.
Would you like to hide incompatibility to gnu as?

FYI, release_34 has been broken due to lack of this, r195676, on
cygwin selfhosting.
http://bb.pgr.jp/builders/clang-3stage-cygwin/builds/1348

2013/11/26 Rafael Espindola <rafael.espindola at gmail.com>:
> Author: rafael
> Date: Mon Nov 25 12:50:53 2013
> New Revision: 195676
>
> URL: http://llvm.org/viewvc/llvm-project?rev=195676&view=rev
> Log:
> Make the integrated assembler the default for cygwin/mingw too.
>
> The integrated assembler was already the default for win32. It is now able
> to handle a clang bootstrap on mingw, so make it the default.
>
> Modified:
>     cfe/trunk/lib/Driver/ToolChains.cpp
>     cfe/trunk/lib/Driver/ToolChains.h
>     cfe/trunk/test/Driver/bindings.c
>     cfe/trunk/test/Driver/unknown-gcc-arch.c
>
> Modified: cfe/trunk/lib/Driver/ToolChains.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=195676&r1=195675&r2=195676&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChains.cpp Mon Nov 25 12:50:53 2013
> @@ -1612,6 +1612,11 @@ bool Generic_GCC::isPICDefaultForced() c
>    return false;
>  }
>
> +bool Generic_GCC::IsIntegratedAssemblerDefault() const {
> +  return getTriple().getArch() == llvm::Triple::x86 ||
> +    getTriple().getArch() == llvm::Triple::x86_64;
> +}
> +
>  /// Hexagon Toolchain
>
>  std::string Hexagon_TC::GetGnuDir(const std::string &InstalledDir) {
>
> Modified: cfe/trunk/lib/Driver/ToolChains.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.h?rev=195676&r1=195675&r2=195676&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChains.h (original)
> +++ cfe/trunk/lib/Driver/ToolChains.h Mon Nov 25 12:50:53 2013
> @@ -164,6 +164,7 @@ public:
>    virtual bool isPICDefault() const;
>    virtual bool isPIEDefault() const;
>    virtual bool isPICDefaultForced() const;
> +  virtual bool IsIntegratedAssemblerDefault() const;
>
>  protected:
>    virtual Tool *getTool(Action::ActionClass AC) const;
> @@ -414,10 +415,9 @@ public:
>        : Generic_GCC(D, Triple, Args) {}
>
>    virtual bool IsIntegratedAssemblerDefault() const {
> -    // Default integrated assembler to on for x86.
> -    return (getTriple().getArch() == llvm::Triple::aarch64 ||
> -            getTriple().getArch() == llvm::Triple::x86 ||
> -            getTriple().getArch() == llvm::Triple::x86_64);
> +    if (getTriple().getArch() == llvm::Triple::aarch64)
> +      return true;
> +    return Generic_GCC::IsIntegratedAssemblerDefault();
>    }
>  };
>
>
> Modified: cfe/trunk/test/Driver/bindings.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/bindings.c?rev=195676&r1=195675&r2=195676&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/bindings.c (original)
> +++ cfe/trunk/test/Driver/bindings.c Mon Nov 25 12:50:53 2013
> @@ -1,5 +1,5 @@
>  // Basic binding.
> -// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings %s 2>&1 | FileCheck %s --check-prefix=CHECK01
> +// RUN: %clang -target i386-unknown-unknown -ccc-print-bindings -no-integrated-as %s 2>&1 | FileCheck %s --check-prefix=CHECK01
>  // CHECK01: "clang", inputs: ["{{.*}}bindings.c"], output: "{{.*}}.s"
>  // CHECK01: "GNU::Assemble", inputs: ["{{.*}}.s"], output: "{{.*}}.o"
>  // CHECK01: "gcc::Link", inputs: ["{{.*}}.o"], output: "a.out"
>
> Modified: cfe/trunk/test/Driver/unknown-gcc-arch.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/unknown-gcc-arch.c?rev=195676&r1=195675&r2=195676&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/unknown-gcc-arch.c (original)
> +++ cfe/trunk/test/Driver/unknown-gcc-arch.c Mon Nov 25 12:50:53 2013
> @@ -1,17 +1,17 @@
> -// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### 2>&1 \
> -// RUN:   | FileCheck -check-prefix=X86_64 %s
> +// RUN: %clang -target x86_64-unknown-unknown -no-integrated-as -c \
> +// RUN: -x assembler %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s
>  // X86_64: {{.*as.*--64}}
>
> -// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### -m32 2>&1 \
> -// RUN:   | FileCheck -check-prefix=X86_64-M32 %s
> +// RUN: %clang -target x86_64-unknown-unknown -c -x assembler %s -### -m32 \
> +// RUN -no-integrated-as 2>&1 | FileCheck -check-prefix=X86_64-M32 %s
>  // X86_64-M32: {{.*as.*--32}}
>
> -// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### 2>&1 \
> -// RUN:   | FileCheck -check-prefix=I386 %s
> +// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### \
> +// RUN: -no-integrated-as 2>&1| FileCheck -check-prefix=I386 %s
>  // I386: {{.*as.*--32}}
>
> -// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### -m64 2>&1 \
> -// RUN:   | FileCheck -check-prefix=I386-M64 %s
> +// RUN: %clang -target i386-unknown-unknown -c -x assembler %s -### -m64 \
> +// RUN: -no-integrated-as 2>&1 | FileCheck -check-prefix=I386-M64 %s
>  // I386-M64: {{.*as.*--64}}
>
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list