
In D49466, sys::path::replace_path_prefix was used instead startswith for -f[macro/debug/file]-prefix-map options. However those were reverted later (commit rG3bb24bf25767ef5bbcef958b484e7a06d8689204) due to broken Windows tests. This patch restores those replace_path_prefix calls. It also modifies the prefix matching to be case-insensitive under Windows. Differential Revision : https://reviews.llvm.org/D76869
24 lines
1.1 KiB
C
24 lines
1.1 KiB
C
// UNSUPPORTED: system-windows
|
|
// RUN: %clang -E -ffile-prefix-map=%p=/UNLIKELY_PATH/empty -c -o - %s | FileCheck %s
|
|
// RUN: %clang -E -fmacro-prefix-map=%p=/UNLIKELY_PATH/empty -c -o - %s | FileCheck %s
|
|
// RUN: %clang -E -fmacro-prefix-map=%p=/UNLIKELY_PATH=empty -c -o - %s | FileCheck %s -check-prefix CHECK-EVIL
|
|
// RUN: %clang -E -fmacro-prefix-map=%p/= -c -o - %s | FileCheck %s --check-prefix CHECK-REMOVE
|
|
|
|
filename: __FILE__
|
|
#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"
|
|
// CHECK: basefile: "/UNLIKELY_PATH/empty/file_test.c"
|
|
// CHECK-NOT: filename:
|
|
|
|
// CHECK-EVIL: filename: "/UNLIKELY_PATH=empty/file_test.c"
|
|
// CHECK-EVIL: filename: "/UNLIKELY_PATH=empty/Inputs/include-file-test/file_test.h"
|
|
// CHECK-EVIL: basefile: "/UNLIKELY_PATH=empty/file_test.c"
|
|
// CHECK-EVIL-NOT: filename:
|
|
|
|
// CHECK-REMOVE: filename: "file_test.c"
|
|
// CHECK-REMOVE: filename: "Inputs/include-file-test/file_test.h"
|
|
// CHECK-REMOVE: basefile: "file_test.c"
|
|
// CHECK-REMOVE-NOT: filename:
|