================
@@ -54,24 +55,69 @@
 // CHECK-64-SAME: {{^}} "-internal-externc-isystem" 
"[[SYSROOT]]/usr/include/w32api"
 // CHECK-64-SAME: "-femulated-tls"
 // CHECK-64-SAME: "-exception-model=seh"
-// CHECK-64:      "{{.*}}gcc{{(\.exe)?}}"
-// CHECK-64-SAME: "-m64"
+// CHECK-64:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-SAME: "-m" "i386pep"
+// CHECK-64-SAME: "--disable-high-entropy-va"
 
 // RUN: %clang -### %s --target=x86_64-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
 // RUN:   --stdlib=platform -static 2>&1 | FileCheck 
--check-prefix=CHECK-64-STATIC %s
 // CHECK-64-STATIC:      "-cc1" "-triple" "x86_64-pc-windows-cygnus"
 // CHECK-64-STATIC-SAME: "-static-define"
-// CHECK-64-STATIC:      "{{.*}}gcc{{(\.exe)?}}"
-// CHECK-64-STATIC-SAME: "-static"
+// CHECK-64-STATIC:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-STATIC-SAME: "-Bstatic"
 
 // RUN: %clang -### %s --target=x86_64-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
 // RUN:   -shared 2>&1 | FileCheck --check-prefix=CHECK-64-SHARED %s
-// CHECK-64-SHARED:      "{{.*}}gcc{{(\.exe)?}}"
-// CHECK-64-SHARED-SAME: "-shared"
+// CHECK-64-SHARED:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-SHARED-SAME: "--shared"
+// CHECK-64-SHARED-SAME: "-e" "_cygwin_dll_entry"
 
 // RUN: %clang -### -o %t %s 2>&1 -no-integrated-as -fuse-ld=ld \
 // RUN:     --gcc-toolchain=%S/Inputs/basic_cross_cygwin_tree/usr \
 // RUN:     --target=x86_64-pc-cygwin \
 // RUN:   | FileCheck --check-prefix=CHECK-64-CROSS %s
 // CHECK-64-CROSS: "-cc1" "-triple" "x86_64-pc-windows-cygnus"
 // CHECK-64-CROSS: 
"{{.*}}/Inputs/basic_cross_cygwin_tree/usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin{{(/|\\\\)}}as"
 "--64"
+
+// RUN: %clang -### %s --target=x86_64-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN:   -mdll 2>&1 | FileCheck --check-prefix=CHECK-64-DLL %s
+// CHECK-64-DLL:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-DLL-SAME: "--dll"
+// CHECK-64-DLL-SAME: "-e" "_cygwin_dll_entry"
+
+// RUN: %clang -### %s --target=i686-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN:   -mdll 2>&1 | FileCheck --check-prefix=CHECK-DLL %s
+// CHECK-DLL:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-DLL-SAME: "--dll"
+// CHECK-DLL-SAME: "-e" "__cygwin_dll_entry@12"
+
+// RUN: %clang -### %s --target=x86_64-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN:   -mwindows 2>&1 | FileCheck --check-prefix=CHECK-64-WINDOWS %s
+// CHECK-64-WINDOWS:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-WINDOWS-SAME: "--subsystem" "windows"
+
+// RUN: %clang -### %s --target=x86_64-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN:   -mconsole 2>&1 | FileCheck --check-prefix=CHECK-64-CONSOLE %s
+// CHECK-64-CONSOLE:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-CONSOLE-SAME: "--subsystem" "console"
+
+// RUN: %clang -### %s --target=x86_64-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN:   -o a 2>&1 | FileCheck --check-prefix=CHECK-64-EXENAME %s
+// CHECK-64-EXENAME:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-EXENAME-SAME: "-o" "a.exe"
+
+// RUN: %clang -### %s --target=x86_64-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN:   -o a.out 2>&1 | FileCheck --check-prefix=CHECK-64-EXENAME-WITH-EXT %s
+// CHECK-64-EXENAME-WITH-EXT:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-64-EXENAME-WITH-EXT-SAME: "-o" "a.out"
+
+// RUN: %clang -### %s --target=i686-pc-cygwin 
--sysroot=%S/Inputs/basic_cygwin_tree \
+// RUN:   2>&1 | FileCheck --check-prefix=CHECK-ASLR-DEFAULT %s
+// CHECK-ASLR-DEFAULT:      "{{.*}}ld{{(\.exe)?}}"
+// CHECK-ASLR-DEFAULT-NOT:  "--disable-high-entropy-va"
+// CHECK-ASLR-DEFAULT-SAME: "--disable-nxcompat"
----------------
kikairoya wrote:

This check fails to catch when the order of high-entropy-va and nxcompat is 
swapped.
We need to repeat -NOT after all positive checks, repeat RUN lines to split 
-NOT checks and positive checks, or use `FileCheck --implicit-check-not`.

https://github.com/llvm/llvm-project/pull/147960
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to