r273558 - CodeGen: support linker options on Windows ARM
Saleem Abdulrasool via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 23 06:45:34 PDT 2016
Author: compnerd
Date: Thu Jun 23 08:45:33 2016
New Revision: 273558
URL: http://llvm.org/viewvc/llvm-project?rev=273558&view=rev
Log:
CodeGen: support linker options on Windows ARM
We would incorrectly emit the directive sections due to the missing overridden
methods. We now emit the expected "/DEFAULTLIB" rather than "-l" options for
requested linkage
Modified:
cfe/trunk/lib/CodeGen/TargetInfo.cpp
cfe/trunk/test/CodeGen/dependent-lib.c
cfe/trunk/test/CodeGen/pragma-comment.c
cfe/trunk/test/CodeGen/pragma-detect_mismatch.c
cfe/trunk/test/PCH/pragma-comment.c
cfe/trunk/test/PCH/pragma-detect_mismatch.c
Modified: cfe/trunk/lib/CodeGen/TargetInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/TargetInfo.cpp?rev=273558&r1=273557&r2=273558&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/TargetInfo.cpp (original)
+++ cfe/trunk/lib/CodeGen/TargetInfo.cpp Thu Jun 23 08:45:33 2016
@@ -5083,6 +5083,16 @@ public:
void setTargetAttributes(const Decl *D, llvm::GlobalValue *GV,
CodeGen::CodeGenModule &CGM) const override;
+
+ void getDependentLibraryOption(llvm::StringRef Lib,
+ llvm::SmallString<24> &Opt) const override {
+ Opt = "/DEFAULTLIB:" + qualifyWindowsLibrary(Lib);
+ }
+
+ void getDetectMismatchOption(llvm::StringRef Name, llvm::StringRef Value,
+ llvm::SmallString<32> &Opt) const override {
+ Opt = "/FAILIFMISMATCH:\"" + Name.str() + "=" + Value.str() + "\"";
+ }
};
void WindowsARMTargetCodeGenInfo::setTargetAttributes(
Modified: cfe/trunk/test/CodeGen/dependent-lib.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/dependent-lib.c?rev=273558&r1=273557&r2=273558&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/dependent-lib.c (original)
+++ cfe/trunk/test/CodeGen/dependent-lib.c Thu Jun 23 08:45:33 2016
@@ -1,3 +1,4 @@
+// RUN: %clang_cc1 %s --dependent-lib=msvcrt -triple thumbv7-windows -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 %s --dependent-lib=msvcrt -triple i686-pc-win32 -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 %s --dependent-lib=msvcrt -triple x86_64-pc-win32 -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 %s --dependent-lib=msvcrt -triple i686-pc-linux -emit-llvm -o - | FileCheck -check-prefix LINUX %s
Modified: cfe/trunk/test/CodeGen/pragma-comment.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/pragma-comment.c?rev=273558&r1=273557&r2=273558&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/pragma-comment.c (original)
+++ cfe/trunk/test/CodeGen/pragma-comment.c Thu Jun 23 08:45:33 2016
@@ -1,5 +1,7 @@
// RUN: %clang_cc1 %s -triple i686-pc-win32 -fms-extensions -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple thumbv7-windows -fms-extensions -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 %s -triple x86_64-pc-win32 -fms-extensions -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple thumbv7-linux-gnueabihf -fms-extensions -emit-llvm -o - | FileCheck -check-prefix LINUX %s
// RUN: %clang_cc1 %s -triple i686-pc-linux -fms-extensions -emit-llvm -o - | FileCheck -check-prefix LINUX %s
// RUN: %clang_cc1 %s -triple x86_64-scei-ps4 -fms-extensions -emit-llvm -o - | FileCheck -check-prefix PS4 %s
Modified: cfe/trunk/test/CodeGen/pragma-detect_mismatch.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/pragma-detect_mismatch.c?rev=273558&r1=273557&r2=273558&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/pragma-detect_mismatch.c (original)
+++ cfe/trunk/test/CodeGen/pragma-detect_mismatch.c Thu Jun 23 08:45:33 2016
@@ -1,4 +1,5 @@
// RUN: %clang_cc1 %s -triple i686-pc-win32 -fms-extensions -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s -triple thumbv7-windows -fms-extensions -emit-llvm -o - | FileCheck %s
#pragma detect_mismatch("test", "1")
Modified: cfe/trunk/test/PCH/pragma-comment.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/pragma-comment.c?rev=273558&r1=273557&r2=273558&view=diff
==============================================================================
--- cfe/trunk/test/PCH/pragma-comment.c (original)
+++ cfe/trunk/test/PCH/pragma-comment.c Thu Jun 23 08:45:33 2016
@@ -1,7 +1,10 @@
// Test this without pch.
+// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple thumbv7-windows -fms-extensions -emit-llvm -include %s -o - | FileCheck %s
// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple x86_64-pc-win32 -fms-extensions -emit-llvm -include %s -o - | FileCheck %s
// Test with pch.
+// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple thumbv7-windows -fms-extensions -emit-pch -o %t
+// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple thumbv7-windows -fms-extensions -emit-llvm -include-pch %t -o - | FileCheck %s
// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple x86_64-pc-win32 -fms-extensions -emit-pch -o %t
// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple x86_64-pc-win32 -fms-extensions -emit-llvm -include-pch %t -o - | FileCheck %s
Modified: cfe/trunk/test/PCH/pragma-detect_mismatch.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/pragma-detect_mismatch.c?rev=273558&r1=273557&r2=273558&view=diff
==============================================================================
--- cfe/trunk/test/PCH/pragma-detect_mismatch.c (original)
+++ cfe/trunk/test/PCH/pragma-detect_mismatch.c Thu Jun 23 08:45:33 2016
@@ -1,7 +1,10 @@
// Test this without pch.
+// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple thumbv7-windows -fms-extensions -emit-llvm -include %s -o - | FileCheck %s
// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple x86_64-pc-win32 -fms-extensions -emit-llvm -include %s -o - | FileCheck %s
// Test with pch.
+// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple thumbv7-windows -fms-extensions -emit-pch -o %t
+// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple thumbv7-windows -fms-extensions -emit-llvm -include-pch %t -o - | FileCheck %s
// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple x86_64-pc-win32 -fms-extensions -emit-pch -o %t
// RUN: %clang_cc1 %s -Wunknown-pragmas -Werror -triple x86_64-pc-win32 -fms-extensions -emit-llvm -include-pch %t -o - | FileCheck %s
More information about the cfe-commits
mailing list