clang/test/Frontend
Volodymyr Sapsai 30d3f201ef Add a callback for `__has_include` and use it for dependency scanning.
This adds a preprocessor callback for the `__has_include` and
`__has_include_next` directives.

Successful checking for the presence of a header should add it to the list of
header dependencies so this overrides the callback in the dependency scanner.

Patch by Pete Cooper with some additions by me.

rdar://problem/39545636

Differential Revision: https://reviews.llvm.org/D30882


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@342517 91177308-0d34-0410-b5e6-96231b3b80d8
2018-09-18 23:27:02 +00:00
..
Inputs Move test input file into same directory as test. NFC 2018-05-08 00:29:21 +00:00
Weverything.c Basic/Diagnostics: Rewrite DiagnosticIDs::getDiagnosticLevel completely to be straighter line code, use the new DiagnosticMappingInfo flags, and eliminate the odd MAP_WARNING_NO_WERROR and friend mappings. 2011-09-29 01:58:05 +00:00
Wno-everything.c Add test for -Wno-everything. 2012-01-27 07:10:14 +00:00
aarch64-target-cpu.c [AArch64] Vulcan is now ThunderXT99 2017-03-07 21:24:53 +00:00
absolute-paths.c Add support for -fdiagnostics-absolute-paths: printing absolute paths in diagnostics 2016-08-26 15:45:36 +00:00
ast-codegen.c Recommit r324107 again. 2018-02-07 22:15:33 +00:00
ast-main.c Update tests to use %clang instead of 'clang', and forcibly disable use of ' 2009-12-15 22:01:24 +00:00
ast-main.cpp Delayed template parsing is not supported by the AST serialization system yet, so turning it off. This fixes a test breakage caused by r177336. 2013-03-21 19:38:59 +00:00
backend-diagnostic.c Make '-Werror=frame-larger-than=' and associated diagnostic pragmas GCC-compatible 2014-06-09 23:59:38 +00:00
cc1-return-codes.c Indicate success for simple options when clang called with -cc1. 2013-08-07 12:54:47 +00:00
clang-abi-compat.cpp Make test/Frontend/clang-abi-compat.cpp pass when the version goes to 8 2018-08-01 13:19:14 +00:00
compiler-options-dump.cpp Add a new driver mode to dump compiler feature and extension options. 2018-05-31 13:57:09 +00:00
cpp-output.c Update tests to use %clang instead of 'clang', and forcibly disable use of ' 2009-12-15 22:01:24 +00:00
darwin-eabi.c Fix r195149. Triple should correctly reflect that target. If it contains ios, 2014-01-26 23:12:43 +00:00
darwin-version.c Allow iOS and tvOS version numbers with 2-digit major version numbers. 2016-07-18 20:29:14 +00:00
dependency-gen-escaping.c Print correctly dependency paths on Windows 2018-09-13 14:27:32 +00:00
dependency-gen-extradeps-phony.c Fix emission of phony dependency targets when adding extra deps 2018-05-29 13:07:58 +00:00
dependency-gen-has-include.c Add a callback for `__has_include` and use it for dependency scanning. 2018-09-18 23:27:02 +00:00
dependency-gen-symlink.c Track skipped files in dependency scanning. 2018-05-01 23:59:33 +00:00
dependency-gen.c Print correctly dependency paths on Windows 2018-09-13 14:27:32 +00:00
dependency-generation-crash.c Fix typo in my last commit. 2015-03-03 00:12:08 +00:00
diagnostics-option-names.c Basic/Diagnostics: Add an isDefaultMappingAsError method, and switch TextDiagnosticPrinter to use that instead of extracting the current mapping via getDiagnosticLevel, which fixes one class of corner cases w.r.t. printing the "-Werror" diagnostic option marker. 2011-09-29 01:01:08 +00:00
diagnostics-order.c [VerifyDiagnosticConsumer] support -verify=<prefixes> 2017-12-16 02:23:22 +00:00
disable-output.c Fix leak from r210059 2014-06-03 17:23:34 +00:00
embed-bitcode.ll Change embed-bitcode linkage type 2016-05-16 18:54:58 +00:00
exceptions.c Frontend: Define __EXCEPTIONS if -fexceptions is passed 2014-10-27 20:02:19 +00:00
fixed_point.c [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals 2018-06-20 17:19:40 +00:00
fixed_point_bit_widths.c [Fixed Point Arithmetic] Fixed Point Precision Bits and Fixed Point Literals 2018-06-20 17:19:40 +00:00
fixed_point_declarations.c [Fixed Point Arithmetic] Fixed Point Constant 2018-08-06 16:42:37 +00:00
fixed_point_errors.c [Fixed Point Arithmetic] Fix for bug where integer literals could be treated as fixed point literals 2018-07-17 14:58:49 +00:00
fixed_point_errors.cpp [Fixed Point Arithmetic] Fix for bug where integer literals could be treated as fixed point literals 2018-07-17 14:58:49 +00:00
fixed_point_not_enabled.c [Fixed Point Arithmetic] Fix for bug where integer literals could be treated as fixed point literals 2018-07-17 14:58:49 +00:00
fixed_point_same_fbits.c [Fixed Point Arithmetic] Rename `-fsame-fbits` flag 2018-06-29 17:08:19 +00:00
fixed_point_to_string.c [Fixed Point Arithmetic] Fix for FixedPointValueToString 2018-08-06 16:05:08 +00:00
float16.cpp Re-commit r321223, which adds a printing policy to the ASTDumper. 2017-12-21 21:42:42 +00:00
force-include-not-found.c Add back null check removed accidentally in r250554 2015-10-20 18:45:57 +00:00
ftime-report-template-decl.cpp Improve checks in test/Frontend/ftime-report-template-decl.cpp 2018-04-23 18:05:35 +00:00
gnu-inline.c Don't accept -std= values that would switch us to a different source language. 2017-04-26 23:44:33 +00:00
gnu-mcount.c Always use __mcount on NetBSD. Some platforms don't provide _mcount. 2018-07-17 13:13:34 +00:00
hexagon-target-basic.c hexagon-target-basic.c test: add REQUIRES line for hexagon target 2013-01-02 22:30:14 +00:00
iframework.c Add -iframeworkwithsysroot compiler option 2017-03-13 11:17:41 +00:00
include-duplicate-removal.c [Frontend] Fix an issue where a quoted search path is incorrectly 2016-12-02 09:51:51 +00:00
int128.cpp Provide __GLIBCXX_TYPE_INT_N_0 and __GLIBCXX_BITSIZE_INT_N_0 when in C++ gnu language extensions. 2016-07-21 07:44:41 +00:00
invalid-o-level.c Fix handling of invalid -O options. 2014-12-16 21:57:03 +00:00
ir-support-codegen.ll Override the datalayout in a module with -triple. 2013-12-20 22:01:25 +00:00
ir-support-errors.ll Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
ir-support.c Account for differences in grep implementations 2014-06-27 03:11:38 +00:00
lit.local.cfg [OpenCL] Actually activate Frontend/opencl.cl test and fix test bugs 2016-07-14 12:56:21 +00:00
macros.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
mfpmath.c Move -mfpmath handling to -cc1 and implement it for x86. 2013-08-21 21:59:03 +00:00
mips-long-double.c Move remaining %clang_cc1 tests out of test/Driver 2013-11-16 06:20:17 +00:00
nostdlib-for-asmpp.s [frontend] Don't include the C++ stdlib for -x assembler-with-cpp 2018-06-28 23:23:45 +00:00
objc-bool-is-bool.m [Frontend] The macro that describes the Objective-C bool type should 2017-01-20 16:48:25 +00:00
opencl.cl [OpenCL] Added -std/-cl-std=c++ 2018-04-12 14:17:04 +00:00
optimization-remark-analysis.c Add backend dignostic printer for unsupported features 2016-02-02 13:52:52 +00:00
optimization-remark-extra-analysis.c Fix ClangDiagnosticHandler::is*RemarkEnabled members 2017-09-19 17:59:40 +00:00
optimization-remark-line-directive.c Stop messing with the 'g' group of options in CompilerInvocation. 2015-10-08 04:24:12 +00:00
optimization-remark-options.c [ValueTracking] Enabling ValueTracking patch by default (recommit). Part 1. 2017-08-10 11:22:52 +00:00
optimization-remark-with-hotness.c Fix tests for changed opt remarks format 2018-08-05 14:53:34 +00:00
optimization-remark.c [clang] Fix tests for Emitting Single Inline Remark 2017-08-21 16:40:35 +00:00
output-failures.c This test was updated in r216397, but was failing on Windows due to mixed path separators as well as case sensitivity of the "no" in "no such file or directory." Rather than revert this file back to its original form, I've made some incredibly ugly regexes so that it will pass everywhere. 2014-08-26 14:09:25 +00:00
plugin-annotate-functions.c Add a PragmaHandler Registry for plugins to add PragmaHandlers to 2016-04-04 14:22:58 +00:00
plugin-delayed-template.cpp Don't leak TemplateIds when a plugin parses late-parsed templates at TU end. 2015-05-17 01:07:16 +00:00
plugin-vs-debug-info.cpp Give this test that uses Itanium mangling a triple 2016-11-30 00:31:16 +00:00
plugins.c Revert r260266 (and r260276), "clang-cl: Enable plugins on Windows" 2016-02-11 16:43:08 +00:00
pp-only-no-editor-placeholders.c [PR33394] Avoid lexing editor placeholders when Clang is used only 2017-06-16 20:13:39 +00:00
preprocessed-input.i Use filename in linemarker when compiling preprocessed source (Revised) 2017-03-07 20:20:23 +00:00
preprocessed-output-macro-first-token.c add a testcase, from Michael Spencer 2010-06-15 18:56:20 +00:00
print-header-includes.c [clang-cl] Print /showIncludes to stderr, if used in combination with /E, /EP or /P 2018-05-04 15:58:31 +00:00
profile-sample-use-loc-tracking.c Use NoDebug compile units to mark debug metadata used only for sample-based 2016-04-08 22:43:06 +00:00
region-pragmas.c Always allow "#pragma region". 2018-01-27 00:25:29 +00:00
remove-file-on-signal.c [Support] Use FILE_SHARE_DELETE to fix RemoveFileOnSignal on Windows 2017-08-04 21:52:00 +00:00
rewrite-includes-bom.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
rewrite-includes-cli-include.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
rewrite-includes-eof.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
rewrite-includes-filenotfound.c PR32848: There isn't necessarily a FileChanged or FileSkipped for every InclusionDirective callback. 2017-06-02 01:05:44 +00:00
rewrite-includes-header-cmd-line.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
rewrite-includes-invalid-hasinclude.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
rewrite-includes-line-markers.c PR26771: don't forget the " 2" (returning from #included file) linemarker after including an empty file with -frewrite-includes. 2017-04-29 00:54:03 +00:00
rewrite-includes-messages.c Use POSIX argument syntax in test rewrite-includes-messages.c 2018-01-04 23:03:48 +00:00
rewrite-includes-missing.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
rewrite-includes-modules.c Add pragma to perform module import and use it in -E output. 2017-04-29 00:34:47 +00:00
rewrite-includes-warnings.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
rewrite-includes.c Fix evaluation of `__has_include_next` during -frewrite-includes. 2018-04-13 17:43:15 +00:00
rewrite-macros.c Revert "clang/test/Driver/crash-report.c: This requires rewriter for -frewrite-includes. [PR20321]" 2014-07-16 15:12:48 +00:00
source-col-map.c This test requires UTF-8 output to print the UT-8 characters. 2015-09-11 13:29:12 +00:00
stats-file.c CC1: Add -save-stats option 2016-09-26 18:53:34 +00:00
stdin.c Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. 2009-12-15 20:14:24 +00:00
stdlang.c [OpenCL] Added -std/-cl-std=c++ 2018-04-12 14:17:04 +00:00
system-header-line-directive-ms-lineendings.c Remove .gitattributes, add comment to lineendings. 2017-08-24 23:25:05 +00:00
system-header-line-directive.c Add test coverage for recent behavior change in GNU line marker pre-processing 2017-05-23 16:09:13 +00:00
system-header-prefix.c Move the -i[no-]system-prefix options from CC1Options.td to Options.td. 2014-03-26 01:39:59 +00:00
trigraphs.cpp Add driver flags -ftrigraphs, -fno-trigraphs. 2014-12-23 22:32:37 +00:00
undef.c The macros defined by the language standard are still available even when the 2011-06-07 06:07:12 +00:00
unknown-arg.c [Driver] Suggest correctly spelled driver options 2018-01-06 00:25:40 +00:00
unknown-pragmas.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
verify-directive.h Allow -verify directives to be filtered by preprocessing. 2012-07-11 19:58:23 +00:00
verify-fatal.c Add 'not' to commands that are expected to fail. 2013-07-04 16:16:58 +00:00
verify-ignore-unexpected.c Add `-verify-ignore-unexpected` option to ignore unexpected diagnostics in VerifyDiagnosticsConsumer 2015-06-13 07:11:40 +00:00
verify-prefixes.c [VerifyDiagnosticConsumer] support -verify=<prefixes> 2017-12-16 02:23:22 +00:00
verify-unknown-arg.c Destroy the diagnostic client first in ~DiagnosticEngine 2014-12-17 20:23:11 +00:00
verify.c Provide -verify support to match "any" line for diagnostics in included files. 2014-07-10 16:43:29 +00:00
verify2.c Provide -verify support to match "any" line for diagnostics in included files. 2014-07-10 16:43:29 +00:00
verify2.h Provide -verify support to match "any" line for diagnostics in included files. 2014-07-10 16:43:29 +00:00
verify3.c Fix test that was not being run 2013-11-05 12:45:40 +00:00
warning-mapping-1.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
warning-mapping-2.c Basic/Diagnostics: Rewrite DiagnosticIDs::getDiagnosticLevel completely to be straighter line code, use the new DiagnosticMappingInfo flags, and eliminate the odd MAP_WARNING_NO_WERROR and friend mappings. 2011-09-29 01:58:05 +00:00
warning-mapping-3.c tests: Add some more tests for warning mappings. 2011-09-29 01:37:40 +00:00
warning-mapping-4.c Prior to adding the new "expected-no-diagnostics" directive to VerifyDiagnosticConsumer, make the necessary adjustment to 580 test-cases which will henceforth require this new directive. 2012-10-19 12:44:48 +00:00
warning-mapping-5.c Basic/Diagnostics: Apparently, #pragma ... diagnostic is intended to override 2011-10-04 21:17:24 +00:00
warning-options.cpp Use -Rblah, not -Wblah, to control remark diagnostics. This was always the 2014-08-07 00:24:21 +00:00
warning-stdlibcxx-darwin.cpp warn_stdlibcxx_not_found: suggest '-stdlib=libc++' instead of '-std' 2018-09-07 18:59:45 +00:00
windows-exceptions.cpp [ADT] Normalize empty triple components 2018-08-08 22:23:57 +00:00
windows-nul.c Simplify test. No functional change intended. 2014-04-30 10:04:58 +00:00
x86-target-cpu.c [X86] Split up -march=icelake to -client & -server 2018-04-10 18:58:26 +00:00
x86_64-nacl-types.cpp Fix copy-paste errors in the test 2015-02-23 22:08:10 +00:00