
-H in gcc mode doesn't print -include headers, but they are included in depfiles written by MMD and friends. Since /showIncludes is what's used instead of depfiles, printing /FI there seems important (and matches cl.exe). Instead of giving HeaderIncludeGen more options, just switch on ShowAllHeaders in clang-cl mode and let clang::InitializePreprocessor() not put -include flags in the <command line> block. This changes the behavior of -E slightly, and it removes the <command line> flag from the output triggered by setting the obscure CC_PRINT_HEADERS=1 env var to true while running clang. Both of these seem ok to change. http://reviews.llvm.org/D18401 llvm-svn: 264174
25 lines
969 B
C
25 lines
969 B
C
// RUN: %clang_cc1 -I%S -include Inputs/test3.h -E -H -o /dev/null %s 2> %t.stderr
|
|
// RUN: FileCheck < %t.stderr %s
|
|
|
|
// CHECK-NOT: test3.h
|
|
// CHECK: . {{.*test.h}}
|
|
// CHECK: .. {{.*test2.h}}
|
|
|
|
// RUN: %clang_cc1 -I%S -include Inputs/test3.h -E --show-includes -o /dev/null %s | \
|
|
// RUN: FileCheck --strict-whitespace --check-prefix=MS %s
|
|
// MS-NOT: <command line>
|
|
// MS: Note: including file: {{[^ ]*test3.h}}
|
|
// MS: Note: including file: {{[^ ]*test.h}}
|
|
// MS: Note: including file: {{[^ ]*test2.h}}
|
|
// MS-NOT: Note
|
|
|
|
// RUN: echo "fun:foo" > %t.blacklist
|
|
// RUN: %clang_cc1 -I%S -fsanitize=address -fdepfile-entry=%t.blacklist -E --show-includes -o /dev/null %s | \
|
|
// RUN: FileCheck --strict-whitespace --check-prefix=MS-BLACKLIST %s
|
|
// MS-BLACKLIST: Note: including file: {{[^ ]*\.blacklist}}
|
|
// MS-BLACKLIST: Note: including file: {{[^ ]*test.h}}
|
|
// MS-BLACKLIST: Note: including file: {{[^ ]*test2.h}}
|
|
// MS-BLACKLIST-NOT: Note
|
|
|
|
#include "Inputs/test.h"
|