diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-09-13 21:10:08 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-09-13 21:10:08 +0000 |
commit | a497c8fddd5c18b3f5788412f4043891c833d92c (patch) | |
tree | c967c99f1c360b99396ac56f970ab80d404437be /include/clang/Basic/DiagnosticLexKinds.td | |
parent | 731525c2421e2dc739ca34419912abbf5c8091bd (diff) |
Diagnose likely typos in #include directives.
Summary:
When someone writes
#include "<some_file>"
or
#include " some_file "
the compiler returns "file not fuond..." with fonts and quotes that may
make it hard to see there are excess quotes or surprising bytes in the
filename. Assuming that files are usually logically named and start and
end with an alphanumeric character, we can check for the file's
existence by stripping the non-alphanumeric leading or trailing
characters. If the file is found, emit a non-fatal error with a
FixItHint.
Patch by Christy Lee!
Reviewers: aaron.ballman, erikjv, rsmith
Reviewed By: rsmith
Subscribers: lebedev.ri, xbolva00, sammccall, modocache, erikjv, aaron.ballman, cfe-commits
Differential Revision: https://reviews.llvm.org/D51333
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@342177 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticLexKinds.td')
-rw-r--r-- | include/clang/Basic/DiagnosticLexKinds.td | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/clang/Basic/DiagnosticLexKinds.td b/include/clang/Basic/DiagnosticLexKinds.td index 7e8bea7c24..085648c65d 100644 --- a/include/clang/Basic/DiagnosticLexKinds.td +++ b/include/clang/Basic/DiagnosticLexKinds.td @@ -422,8 +422,10 @@ def warn_pp_hdrstop_filename_ignored : Warning< "#pragma hdrstop filename not supported, " "/Fp can be used to specify precompiled header filename">, InGroup<ClangClPch>; -def err_pp_file_not_found_not_fatal : Error< +def err_pp_file_not_found_angled_include_not_fatal : Error< "'%0' file not found with <angled> include; use \"quotes\" instead">; +def err_pp_file_not_found_typo_not_fatal + : Error<"'%0' file not found, did you mean '%1'?">; def err_pp_error_opening_file : Error< "error opening file '%0': %1">, DefaultFatal; def err_pp_empty_filename : Error<"empty filename">; |