File tree 4 files changed +11
-30
lines changed 4 files changed +11
-30
lines changed Original file line number Diff line number Diff line change @@ -341,10 +341,6 @@ Changes in existing checks
341
341
<clang-tidy/checks/misc/header-include-cycle>` check by avoiding crash for self
342
342
include cycles.
343
343
344
- - Improved :doc: `misc-include-cleaner
345
- <clang-tidy/checks/misc/include-cleaner>` check by avoiding false positives for
346
- the functions with the same name as standard library functions.
347
-
348
344
- Improved :doc: `misc-unused-using-decls
349
345
<clang-tidy/checks/misc/unused-using-decls>` check by replacing the local
350
346
option `HeaderFileExtensions ` by the global option of the same name.
Original file line number Diff line number Diff line change 14
14
#include " clang/AST/DeclTemplate.h"
15
15
#include " clang/Tooling/Inclusions/StandardLibrary.h"
16
16
#include " llvm/Support/Casting.h"
17
- #include " llvm/Support/raw_ostream.h"
18
17
#include < utility>
19
18
#include < vector>
20
19
@@ -41,11 +40,8 @@ Hints declHints(const Decl *D) {
41
40
std::vector<Hinted<SymbolLocation>> locateDecl (const Decl &D) {
42
41
std::vector<Hinted<SymbolLocation>> Result;
43
42
// FIXME: Should we also provide physical locations?
44
- if (auto SS = tooling::stdlib::Recognizer ()(&D)) {
45
- Result.push_back ({*SS, Hints::CompleteSymbol});
46
- if (!D.hasBody ())
47
- return Result;
48
- }
43
+ if (auto SS = tooling::stdlib::Recognizer ()(&D))
44
+ return {{*SS, Hints::CompleteSymbol}};
49
45
// FIXME: Signal foreign decls, e.g. a forward declaration not owned by a
50
46
// library. Some useful signals could be derived by checking the DeclContext.
51
47
// Most incidental forward decls look like:
Original file line number Diff line number Diff line change @@ -619,26 +619,23 @@ TEST_F(HeadersForSymbolTest, AmbiguousStdSymbolsUsingShadow) {
619
619
620
620
621
621
TEST_F (HeadersForSymbolTest, StandardHeaders) {
622
- Inputs.Code = " void assert();" ;
622
+ Inputs.Code = R"cpp(
623
+ #include "stdlib_internal.h"
624
+ void assert();
625
+ void foo() { assert(); }
626
+ )cpp" ;
627
+ Inputs.ExtraFiles [" stdlib_internal.h" ] = " void assert();" ;
623
628
buildAST ();
624
629
EXPECT_THAT (
625
630
headersFor (" assert" ),
626
631
// Respect the ordering from the stdlib mapping.
632
+ // FIXME: Report physical locations too, stdlib_internal.h and main-file
633
+ // should also be candidates. But they should be down-ranked compared to
634
+ // stdlib providers.
627
635
UnorderedElementsAre (tooling::stdlib::Header::named (" <cassert>" ),
628
636
tooling::stdlib::Header::named (" <assert.h>" )));
629
637
}
630
638
631
- TEST_F (HeadersForSymbolTest, NonStandardHeaders) {
632
- Inputs.Code = " void assert() {}" ;
633
- buildAST ();
634
- EXPECT_THAT (
635
- headersFor (" assert" ),
636
- // Respect the ordering from the stdlib mapping.
637
- UnorderedElementsAre (physicalHeader (" input.mm" ),
638
- tooling::stdlib::Header::named (" <cassert>" ),
639
- tooling::stdlib::Header::named (" <assert.h>" )));
640
- }
641
-
642
639
TEST_F (HeadersForSymbolTest, ExporterNoNameMatch) {
643
640
Inputs.Code = R"cpp(
644
641
#include "exporter/foo.h"
Original file line number Diff line number Diff line change @@ -15,11 +15,3 @@ std::string HelloString;
15
15
// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: no header providing "std::string" is directly included [misc-include-cleaner]
16
16
int FooBarResult = foobar();
17
17
// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: no header providing "foobar" is directly included [misc-include-cleaner]
18
-
19
- namespace valid {
20
-
21
- namespace gh93335 {
22
- void log2 () {}
23
- } // namespace gh93335
24
-
25
- } // namespace valid
You can’t perform that action at this time.
0 commit comments