mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 08:06:07 +00:00

GCC on Windows ignores this flag completely [0] which some build systems sadly rely on when compiling for Windows using MinGW. The current behaviour of clang however is to error out as -fPIC & friends has no effect on Windows. This patch instead changes the behaviour for MinGW to ignore the option for the sake of compatibility Fixes https://github.com/llvm/llvm-project/issues/52947 [0] https://gcc.gnu.org/legacy-ml/gcc-patches/2015-08/msg00836.html Differential Revision: https://reviews.llvm.org/D116485
42 lines
2.9 KiB
C++
42 lines
2.9 KiB
C++
// RUN: %clang -### -target i686-windows -fPIC %s 2>&1 | FileCheck -check-prefix CHECK-PIC-ERROR %s
|
|
// RUN: %clang -### -target i686-windows -fpic %s 2>&1 | FileCheck -check-prefix CHECK-pic-ERROR %s
|
|
// RUN: %clang -### -target i686-windows -fPIE %s 2>&1 | FileCheck -check-prefix CHECK-PIE-ERROR %s
|
|
// RUN: %clang -### -target i686-windows -fpie %s 2>&1 | FileCheck -check-prefix CHECK-pie-ERROR %s
|
|
// RUN: %clang -### -target i686-windows -fPIC -fno-pic %s
|
|
// RUN: %clang -### -target i686-windows -Fpic -fno-pic %s
|
|
// RUN: %clang -### -target i686-windows -fPIE -fno-pie %s
|
|
// RUN: %clang -### -target i686-windows -fpie -fno-pie %s
|
|
|
|
// RUN: %clang -### -target i686-windows-itanium -fPIC %s 2>&1 | FileCheck -check-prefix CHECK-PIC-ERROR %s
|
|
// RUN: %clang -### -target i686-windows-itanium -fpic %s 2>&1 | FileCheck -check-prefix CHECK-pic-ERROR %s
|
|
// RUN: %clang -### -target i686-windows-itanium -fPIE %s 2>&1 | FileCheck -check-prefix CHECK-PIE-ERROR %s
|
|
// RUN: %clang -### -target i686-windows-itanium -fpie %s 2>&1 | FileCheck -check-prefix CHECK-pie-ERROR %s
|
|
// RUN: %clang -### -target i686-windows-itanium -fPIC -fno-pic %s
|
|
// RUN: %clang -### -target i686-windows-itanium -Fpic -fno-pic %s
|
|
// RUN: %clang -### -target i686-windows-itanium -fPIE -fno-pie %s
|
|
// RUN: %clang -### -target i686-windows-itanium -fpie -fno-pie %s
|
|
|
|
// RUN: %clang -### -target x86_64-windows -fPIC %s 2>&1 | FileCheck -check-prefix CHECK-PIC-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows -fpic %s 2>&1 | FileCheck -check-prefix CHECK-pic-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows -fPIE %s 2>&1 | FileCheck -check-prefix CHECK-PIE-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows -fpie %s 2>&1 | FileCheck -check-prefix CHECK-pie-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows -fPIC -fno-pic %s
|
|
// RUN: %clang -### -target x86_64-windows -Fpic -fno-pic %s
|
|
// RUN: %clang -### -target x86_64-windows -fPIE -fno-pie %s
|
|
// RUN: %clang -### -target x86_64-windows -fpie -fno-pie %s
|
|
|
|
// RUN: %clang -### -target x86_64-windows-itanium -fPIC %s 2>&1 | FileCheck -check-prefix CHECK-PIC-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows-itanium -fpic %s 2>&1 | FileCheck -check-prefix CHECK-pic-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows-itanium -fPIE %s 2>&1 | FileCheck -check-prefix CHECK-PIE-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows-itanium -fpie %s 2>&1 | FileCheck -check-prefix CHECK-pie-ERROR %s
|
|
// RUN: %clang -### -target x86_64-windows-itanium -fPIC -fno-pic %s
|
|
// RUN: %clang -### -target x86_64-windows-itanium -Fpic -fno-pic %s
|
|
// RUN: %clang -### -target x86_64-windows-itanium -fPIE -fno-pie %s
|
|
// RUN: %clang -### -target x86_64-windows-itanium -fpie -fno-pie %s
|
|
|
|
// CHECK-PIC-ERROR: unsupported option '-fPIC' for target '{{.*}}
|
|
// CHECK-pic-ERROR: unsupported option '-fpic' for target '{{.*}}
|
|
// CHECK-PIE-ERROR: unsupported option '-fPIE' for target '{{.*}}
|
|
// CHECK-pie-ERROR: unsupported option '-fpie' for target '{{.*}}
|
|
|