[PATCH] D51333: Diagnose likely typos in include statements
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 30 10:42:56 PDT 2018
aaron.ballman added a reviewer: rsmith.
aaron.ballman added inline comments.
================
Comment at: lib/Lex/PPDirectives.cpp:1876
+ "\"" + Filename.str() + "\"")
+ << isFileNotFoundLikelyTypo;
}
----------------
I'd pass `false` directly here...
================
Comment at: lib/Lex/PPDirectives.cpp:1882
+ if (!File) {
+ // Assuming filename logically starts and end with alphnumeric
+ // character
----------------
... and lower `isFileNotFoundLikelyTypo` to here and rename it `IsFileNotFoundLikelyTypo` to meet our usual naming conventions...
================
Comment at: lib/Lex/PPDirectives.cpp:1887-1888
+ isFileNotFoundLikelyTypo = true;
+ Diag(FilenameTok, diag::err_pp_file_not_found)
+ << Filename << isFileNotFoundLikelyTypo;
+ }
----------------
...then remove this call to `Diag()`...
================
Comment at: lib/Lex/PPDirectives.cpp:1890-1891
+ }
+ Diag(FilenameTok, diag::err_pp_file_not_found)
+ << Filename << FilenameRange << isFileNotFoundLikelyTypo;
+ }
----------------
As it stands, this is going to diagnose the same issue twice.
================
Comment at: test/Preprocessor/include-likely-typo.c:1-2
+// RUN: not %clang_cc1 -verify -frewrite-includes
+#include "<hello.h>" @expected-error {{'<hello.h>' file not found, possibly due to leading or trailing non-alphanumeric characters in the file name}}
----------------
I don't think this is the correct formulation for the test, which explains why it's passing for you. I think the test should be:
```
// RUN: %clang_cc1 %s -verify
#include "<hello.h>" // expected-error {{'<hello.h>' file not found, possibly due to leading or trailing non-alphanumeric characters in the file name}}
```
https://reviews.llvm.org/D51333
More information about the cfe-commits
mailing list