r197490 - LIBRARY_PATH environment variable should only be supported on a native compiler.
Evgeniy Stepanov
eugeni.stepanov at gmail.com
Tue Dec 17 03:50:54 PST 2013
Looks like you are missing Config/config.h include in ToolChain.cpp.
On Tue, Dec 17, 2013 at 3:11 PM, Richard Barton <richard.barton at arm.com> wrote:
> Author: rbarton
> Date: Tue Dec 17 05:11:25 2013
> New Revision: 197490
>
> URL: http://llvm.org/viewvc/llvm-project?rev=197490&view=rev
> Log:
> LIBRARY_PATH environment variable should only be supported on a native compiler.
>
> Modified:
> cfe/trunk/include/clang/Driver/ToolChain.h
> cfe/trunk/lib/Driver/ToolChain.cpp
> cfe/trunk/lib/Driver/Tools.cpp
> cfe/trunk/test/Driver/linker-opts.c
>
> Modified: cfe/trunk/include/clang/Driver/ToolChain.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/ToolChain.h?rev=197490&r1=197489&r2=197490&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Driver/ToolChain.h (original)
> +++ cfe/trunk/include/clang/Driver/ToolChain.h Tue Dec 17 05:11:25 2013
> @@ -113,6 +113,9 @@ public:
> StringRef getPlatform() const { return Triple.getVendorName(); }
> StringRef getOS() const { return Triple.getOSName(); }
>
> + /// \brief Returns true if the toolchain is targeting a non-native architecture.
> + bool isCrossCompiling() const;
> +
> /// \brief Provide the default architecture name (as expected by -arch) for
> /// this toolchain. Note t
> std::string getDefaultUniversalArchName() const;
>
> Modified: cfe/trunk/lib/Driver/ToolChain.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChain.cpp?rev=197490&r1=197489&r2=197490&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/ToolChain.cpp (original)
> +++ cfe/trunk/lib/Driver/ToolChain.cpp Tue Dec 17 05:11:25 2013
> @@ -154,6 +154,20 @@ bool ToolChain::HasNativeLLVMSupport() c
> return false;
> }
>
> +bool ToolChain::isCrossCompiling() const {
> + llvm::Triple HostTriple(LLVM_HOST_TRIPLE);
> + switch (HostTriple.getArch()) {
> + // The A32/T32/T16 instruction sets are not seperate architectures in
> + // this context.
> + case llvm::Triple::arm:
> + case llvm::Triple::thumb:
> + return getArch() != llvm::Triple::arm &&
> + getArch() != llvm::Triple::thumb;
> + default:
> + return HostTriple.getArch() != getArch();
> + }
> +}
> +
> ObjCRuntime ToolChain::getDefaultObjCRuntime(bool isNonFragile) const {
> return ObjCRuntime(isNonFragile ? ObjCRuntime::GNUstep : ObjCRuntime::GCC,
> VersionTuple());
>
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=197490&r1=197489&r2=197490&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Tue Dec 17 05:11:25 2013
> @@ -190,7 +190,9 @@ static void AddLinkerInputs(const ToolCh
> }
>
> // LIBRARY_PATH - included following the user specified library paths.
> - addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
> + // and only supported on native toolchains.
> + if (!TC.isCrossCompiling())
> + addDirectoryList(Args, CmdArgs, "-L", "LIBRARY_PATH");
> }
>
> /// \brief Determine whether Objective-C automated reference counting is
>
> Modified: cfe/trunk/test/Driver/linker-opts.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/linker-opts.c?rev=197490&r1=197489&r2=197490&view=diff
> ==============================================================================
> --- cfe/trunk/test/Driver/linker-opts.c (original)
> +++ cfe/trunk/test/Driver/linker-opts.c Tue Dec 17 05:11:25 2013
> @@ -4,3 +4,4 @@
> // GCC driver is used as linker on cygming. It should be aware of LIBRARY_PATH.
> // XFAIL: win32
> // REQUIRES: clang-driver
> +// REQUIRES: native
>
>
> _______________________________________________
> 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