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