llvm-capstone/clang-tools-extra
Kadir Cetinkaya 73b2c86d95
[include-cleaner] Weaken signal for boosting preferred headers
Putting preferred header signal above completeness implied we would
uprank forward declarations above complete ones in certain cases.

This can be desired in cases where:
- Complete definition is private. But this case is already governed by
  publicness signal.
- The library indeed intends to provide a forward declaring interface, like
  iosfwd vs ostream.

In all other cases, upranking is undesired as it means we've picked up prefered
headerness signal by mistake from an unrelated declaration to the library.

This change regresses the behavior for libraries that intentionally provide a
forward declaring interface. But that wasn't something we intended to support
explicitly, it was working incidentally when the forward declaring header had a
similar name to the symbol. Moreover, include-cleaner deliberately discourages
forward-declarations, so not working in this case is also more aligned with rest
of the components.

Differential Revision: https://reviews.llvm.org/D159441
2023-09-06 14:46:33 +02:00
..
clang-apply-replacements
clang-change-namespace
clang-doc
clang-include-fixer [Headers][Modules] Make separate headers for the stdarg.h and stddef.h pieces so that they can be modularized 2023-08-30 11:41:12 -07:00
clang-move
clang-query
clang-reorder-fields
clang-tidy [clang-tidy][misc-include-cleaner]Avoid to insert same include header multiple times (#65431) 2023-09-06 17:37:14 +08:00
clangd [clangd][unittests] Limit paralelism for clangd unittests 2023-09-06 10:53:18 +02:00
docs [clang-tidy][misc-include-cleaner]Avoid to insert same include header multiple times (#65431) 2023-09-06 17:37:14 +08:00
include-cleaner [include-cleaner] Weaken signal for boosting preferred headers 2023-09-06 14:46:33 +02:00
modularize [Driver] Refactor to use llvm Option's new Visibility flags 2023-08-15 14:26:40 -07:00
pp-trace [lldb] Fix duplicate word typos; NFC 2023-09-01 21:32:24 -07:00
pseudo
test [clang-tidy] Ignore used special-members in modernize-use-equals-delete 2023-09-03 17:05:31 +00:00
tool-template
unittests [clang-tidy][misc-include-cleaner]Avoid to insert same include header multiple times (#65431) 2023-09-06 17:37:14 +08:00
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
LICENSE.TXT
README.txt

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang forum:
  https://discourse.llvm.org/c/clang

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.llvm.org/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  https://github.com/llvm/llvm-project/issues/