brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.1 KiB · 8932400 Raw
77 lines · c
1// REQUIRES: system-windows2// RUN: %clang -E -fno-file-reproducible -target x86_64-pc-win32 -ffile-prefix-map=%p=A:\UNLIKELY_PATH\empty -c -o - %s | FileCheck %s3// RUN: %clang -E -fno-file-reproducible -target x86_64-pc-win32 -fmacro-prefix-map=%p=A:\UNLIKELY_PATH\empty -c -o - %s | FileCheck %s4// RUN: %clang -E -fno-file-reproducible -target x86_64-pc-win32 -fmacro-prefix-map=%p=A:\UNLIKELY_PATH=empty -c -o - %s | FileCheck %s -check-prefix CHECK-EVIL5// RUN: %clang -E -fno-file-reproducible -target x86_64-pc-win32 -fmacro-prefix-map=%p/iNPUTS\=A:\UNLIKELY_PATH_INC\ -fmacro-prefix-map=%p/=A:\UNLIKELY_PATH_BASE\ -c -o - %s | FileCheck %s -check-prefix CHECK-CASE6// RUN: %clang -E -fno-file-reproducible -target x86_64-pc-win32 -fmacro-prefix-map=%p\= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE7 8// RUN: %clang -E -target x86_64-pc-win32 -ffile-prefix-map=%p=A:\UNLIKELY_PATH\empty -c -o - %s | FileCheck %s --check-prefix CHECK-REPRODUCIBLE9// RUN: %clang -E -target x86_64-pc-win32 -fmacro-prefix-map=%p=A:\UNLIKELY_PATH\empty -c -o - %s | FileCheck %s --check-prefix CHECK-REPRODUCIBLE10// RUN: %clang -E -target x86_64-pc-win32 -fmacro-prefix-map=%p=A:\UNLIKELY_PATH=empty -c -o - %s | FileCheck %s -check-prefix CHECK-EVIL-REPRODUCIBLE11// RUN: %clang -E -target x86_64-pc-win32 -fmacro-prefix-map=%p/iNPUTS\=A:\UNLIKELY_PATH_INC\ -fmacro-prefix-map=%p/=A:\UNLIKELY_PATH_BASE\ -c -o - %s | FileCheck %s -check-prefix CHECK-CASE-REPRODUCIBLE12// RUN: %clang -E -target x86_64-pc-win32 -fmacro-prefix-map=%p\= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE-REPRODUCIBLE13 14// RUN: %clang -E -target x86_64-pc-linux-gnu -fmacro-prefix-map=%p\= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE15// RUN: %clang -E -target x86_64-pc-linux-gnu -ffile-prefix-map=%p\= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE16 17// Clang defaults to forward slashes for the non-prefix portion of the path even if the build environment is Windows.18// RUN: %clang -E -fno-file-reproducible -target x86_64-pc-linux-gnu -fmacro-prefix-map=%p\= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE19// RUN: %clang -E -fno-file-reproducible -target x86_64-pc-linux-gnu -ffile-prefix-map=%p\= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE20 21// RUN: %clang -E -ffile-reproducible -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-WINDOWS-FULL22// RUN: %clang -E -ffile-reproducible -target x86_64-pc-linux-gnu -c -o - %s | FileCheck %s --check-prefix CHECK-LINUX-FULL23 24filename: __FILE__25#include "Inputs/include-file-test/file_test.h"26 27// CHECK: filename: "A:\\UNLIKELY_PATH\\empty\\file_test_windows.c"28// CHECK: filename: "A:\\UNLIKELY_PATH\\empty\\Inputs/include-file-test/file_test.h"29// CHECK: basefile: "A:\\UNLIKELY_PATH\\empty\\file_test_windows.c"30// CHECK-NOT: filename:31 32// CHECK-EVIL: filename: "A:\\UNLIKELY_PATH=empty\\file_test_windows.c"33// CHECK-EVIL: filename: "A:\\UNLIKELY_PATH=empty\\Inputs/include-file-test/file_test.h"34// CHECK-EVIL: basefile: "A:\\UNLIKELY_PATH=empty\\file_test_windows.c"35// CHECK-EVIL-NOT: filename:36 37// CHECK-CASE: filename: "A:\\UNLIKELY_PATH_BASE\\file_test_windows.c"38// CHECK-CASE: filename: "A:\\UNLIKELY_PATH_INC\\include-file-test/file_test.h"39// CHECK-CASE: basefile: "A:\\UNLIKELY_PATH_BASE\\file_test_windows.c"40// CHECK-CASE-NOT: filename:41 42// CHECK-REMOVE: filename: "file_test_windows.c"43// CHECK-REMOVE: filename: "Inputs/include-file-test/file_test.h"44// CHECK-REMOVE: basefile: "file_test_windows.c"45// CHECK-REMOVE-NOT: filename:46 47// CHECK-REPRODUCIBLE: filename: "A:\\UNLIKELY_PATH\\empty\\file_test_windows.c"48// CHECK-REPRODUCIBLE: filename: "A:\\UNLIKELY_PATH\\empty\\Inputs\\include-file-test\\file_test.h"49// CHECK-REPRODUCIBLE: basefile: "A:\\UNLIKELY_PATH\\empty\\file_test_windows.c"50// CHECK-REPRODUCIBLE-NOT: filename:51 52// CHECK-EVIL-REPRODUCIBLE: filename: "A:\\UNLIKELY_PATH=empty\\file_test_windows.c"53// CHECK-EVIL-REPRODUCIBLE: filename: "A:\\UNLIKELY_PATH=empty\\Inputs\\include-file-test\\file_test.h"54// CHECK-EVIL-REPRODUCIBLE: basefile: "A:\\UNLIKELY_PATH=empty\\file_test_windows.c"55// CHECK-EVIL-REPRODUCIBLE-NOT: filename:56 57// CHECK-CASE-REPRODUCIBLE: filename: "A:\\UNLIKELY_PATH_BASE\\file_test_windows.c"58// CHECK-CASE-REPRODUCIBLE: filename: "A:\\UNLIKELY_PATH_INC\\include-file-test\\file_test.h"59// CHECK-CASE-REPRODUCIBLE: basefile: "A:\\UNLIKELY_PATH_BASE\\file_test_windows.c"60// CHECK-CASE-REPRODUCIBLE-NOT: filename:61 62// CHECK-REMOVE-REPRODUCIBLE: filename: "file_test_windows.c"63// CHECK-REMOVE-REPRODUCIBLE: filename: "Inputs\\include-file-test\\file_test.h"64// CHECK-REMOVE-REPRODUCIBLE: basefile: "file_test_windows.c"65// CHECK-REMOVE-REPRODUCIBLE-NOT: filename:66 67// CHECK-WINDOWS-FULL: filename: "{{[^/]*}}file_test_windows.c"68// CHECK-WINDOWS-FULL: filename: "{{[^/]*}}Inputs\\include-file-test\\file_test.h"69// CHECK-WINDOWS-FULL: basefile: "{{[^/]*}}file_test_windows.c"70// CHECK-WINDOWS-FULL-NOT: filename:71 72// Clang does not modify the prefix for POSIX style, so it may have backslashes.73// CHECK-LINUX-FULL: filename: "{{.*}}file_test_windows.c"74// CHECK-LINUX-FULL: filename: "{{.*}}Inputs/include-file-test/file_test.h"75// CHECK-LINUX-FULL: basefile: "{{.*}}file_test_windows.c"76// CHECK-LINUX-FULL-NOT: filename:77