17a8edcb2SSylvain Audi // UNSUPPORTED: system-windows 26c92cdffSDan McGregor // RUN: %clang -E -ffile-prefix-map=%p=/UNLIKELY_PATH/empty -c -o - %s | FileCheck %s 36c92cdffSDan McGregor // RUN: %clang -E -fmacro-prefix-map=%p=/UNLIKELY_PATH/empty -c -o - %s | FileCheck %s 46c92cdffSDan McGregor // RUN: %clang -E -fmacro-prefix-map=%p=/UNLIKELY_PATH=empty -c -o - %s | FileCheck %s -check-prefix CHECK-EVIL 56c92cdffSDan McGregor // RUN: %clang -E -fmacro-prefix-map=%p/= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE 66398f3f2SAlan Zhao // RUN: %clang -E -fno-file-reproducible -fmacro-prefix-map=%p/= -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE 76398f3f2SAlan Zhao // RUN: %clang -E -fno-file-reproducible -ffile-prefix-map=%p/= -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE 86398f3f2SAlan Zhao // RUN: %clang -E -fmacro-prefix-map=%p/= -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-WINDOWS 96398f3f2SAlan Zhao // RUN: %clang -E -ffile-prefix-map=%p/= -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-WINDOWS 106398f3f2SAlan Zhao // RUN: %clang -E -ffile-reproducible -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-WINDOWS-REPRODUCIBLE 11*490990bbSPaul Pluzhnikov // RUN: %clang -E -ffile-reproducible -target x86_64-pc-linux-gnu -c -o - %s | FileCheck %s --check-prefix CHECK-LINUX-REPRODUCIBLE 12*490990bbSPaul Pluzhnikov 13*490990bbSPaul Pluzhnikov /// Clang-format wants to do something unreasonable to this file. 14*490990bbSPaul Pluzhnikov // clang-format off 156c92cdffSDan McGregor 166c92cdffSDan McGregor filename: __FILE__ 17*490990bbSPaul Pluzhnikov 18*490990bbSPaul Pluzhnikov /// This line tests that the __FILE__ in included header is canonicalized 19*490990bbSPaul Pluzhnikov /// (has "./" removed). 20*490990bbSPaul Pluzhnikov #include "./Inputs/./include-file-test/file_test.h" 216c92cdffSDan McGregor 227a8edcb2SSylvain Audi // CHECK: filename: "/UNLIKELY_PATH/empty/file_test.c" 237a8edcb2SSylvain Audi // CHECK: filename: "/UNLIKELY_PATH/empty/Inputs/include-file-test/file_test.h" 247a8edcb2SSylvain Audi // CHECK: basefile: "/UNLIKELY_PATH/empty/file_test.c" 256c92cdffSDan McGregor // CHECK-NOT: filename: 266c92cdffSDan McGregor 277a8edcb2SSylvain Audi // CHECK-EVIL: filename: "/UNLIKELY_PATH=empty/file_test.c" 287a8edcb2SSylvain Audi // CHECK-EVIL: filename: "/UNLIKELY_PATH=empty/Inputs/include-file-test/file_test.h" 297a8edcb2SSylvain Audi // CHECK-EVIL: basefile: "/UNLIKELY_PATH=empty/file_test.c" 306c92cdffSDan McGregor // CHECK-EVIL-NOT: filename: 316c92cdffSDan McGregor 326c92cdffSDan McGregor // CHECK-REMOVE: filename: "file_test.c" 33*490990bbSPaul Pluzhnikov // CHECK-REMOVE: filename: "{{.*}}Inputs/{{.*}}include-file-test/file_test.h" 346c92cdffSDan McGregor // CHECK-REMOVE: basefile: "file_test.c" 356c92cdffSDan McGregor // CHECK-REMOVE-NOT: filename: 366398f3f2SAlan Zhao 376398f3f2SAlan Zhao // CHECK-WINDOWS: filename: "file_test.c" 386398f3f2SAlan Zhao // CHECK-WINDOWS: filename: "Inputs\\include-file-test\\file_test.h" 396398f3f2SAlan Zhao // CHECK-WINDOWS: basefile: "file_test.c" 406398f3f2SAlan Zhao // CHECK-WINDOWS-NOT: filename: 416398f3f2SAlan Zhao 42*490990bbSPaul Pluzhnikov // CHECK-WINDOWS-REPRODUCIBLE: filename: "{{.*}}\\file_test.c" 43*490990bbSPaul Pluzhnikov // CHECK-WINDOWS-REPRODUCIBLE: filename: "{{.*}}\\Inputs\\include-file-test\\file_test.h" 44*490990bbSPaul Pluzhnikov // CHECK-WINDOWS-REPRODUCIBLE: basefile: "{{.*}}\\file_test.c" 456398f3f2SAlan Zhao // CHECK-WINDOWS-REPRODUCIBLE-NOT: filename: 46*490990bbSPaul Pluzhnikov 47*490990bbSPaul Pluzhnikov // CHECK-LINUX-REPRODUCIBLE: filename: "{{.*}}/file_test.c" 48*490990bbSPaul Pluzhnikov // CHECK-LINUX-REPRODUCIBLE: filename: "{{.*}}/Inputs/include-file-test/file_test.h" 49*490990bbSPaul Pluzhnikov // CHECK-LINUX-REPRODUCIBLE: basefile: "{{.*}}/file_test.c" 50*490990bbSPaul Pluzhnikov // CHECK-LINUX-REPRODUCIBLE-NOT: filename: 51