[test] Modify test to verify D126396 (Clean "./" from __FILE__ expansion)

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D127009
This commit is contained in:
Paul Pluzhnikov 2022-06-03 17:54:02 -07:00 committed by Fangrui Song
parent da63fee0d0
commit 490990bb1f
1 changed files with 17 additions and 5 deletions

View File

@ -8,9 +8,16 @@
// RUN: %clang -E -fmacro-prefix-map=%p/= -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-WINDOWS
// RUN: %clang -E -ffile-prefix-map=%p/= -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-WINDOWS
// RUN: %clang -E -ffile-reproducible -target x86_64-pc-win32 -c -o - %s | FileCheck %s --check-prefix CHECK-WINDOWS-REPRODUCIBLE
// RUN: %clang -E -ffile-reproducible -target x86_64-pc-linux-gnu -c -o - %s | FileCheck %s --check-prefix CHECK-LINUX-REPRODUCIBLE
/// Clang-format wants to do something unreasonable to this file.
// clang-format off
filename: __FILE__
#include "Inputs/include-file-test/file_test.h"
/// This line tests that the __FILE__ in included header is canonicalized
/// (has "./" removed).
#include "./Inputs/./include-file-test/file_test.h"
// CHECK: filename: "/UNLIKELY_PATH/empty/file_test.c"
// CHECK: filename: "/UNLIKELY_PATH/empty/Inputs/include-file-test/file_test.h"
@ -23,7 +30,7 @@ filename: __FILE__
// CHECK-EVIL-NOT: filename:
// CHECK-REMOVE: filename: "file_test.c"
// CHECK-REMOVE: filename: "Inputs/include-file-test/file_test.h"
// CHECK-REMOVE: filename: "{{.*}}Inputs/{{.*}}include-file-test/file_test.h"
// CHECK-REMOVE: basefile: "file_test.c"
// CHECK-REMOVE-NOT: filename:
@ -32,7 +39,12 @@ filename: __FILE__
// CHECK-WINDOWS: basefile: "file_test.c"
// CHECK-WINDOWS-NOT: filename:
// CHECK-WINDOWS-REPRODUCIBLE: filename: "{{[^/]*}}file_test.c"
// CHECK-WINDOWS-REPRODUCIBLE: filename: "{{[^/]*}}Inputs\\include-file-test\\file_test.h"
// CHECK-WINDOWS-REPRODUCIBLE: basefile: "{{[^/]*}}file_test.c"
// CHECK-WINDOWS-REPRODUCIBLE: filename: "{{.*}}\\file_test.c"
// CHECK-WINDOWS-REPRODUCIBLE: filename: "{{.*}}\\Inputs\\include-file-test\\file_test.h"
// CHECK-WINDOWS-REPRODUCIBLE: basefile: "{{.*}}\\file_test.c"
// CHECK-WINDOWS-REPRODUCIBLE-NOT: filename:
// CHECK-LINUX-REPRODUCIBLE: filename: "{{.*}}/file_test.c"
// CHECK-LINUX-REPRODUCIBLE: filename: "{{.*}}/Inputs/include-file-test/file_test.h"
// CHECK-LINUX-REPRODUCIBLE: basefile: "{{.*}}/file_test.c"
// CHECK-LINUX-REPRODUCIBLE-NOT: filename: