[PATCH] D60151: [clang-tidy] Add using SmallSet to LLVM.h to fix bug in typedef in llvm checkers.
Don Hinton via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 3 08:02:54 PDT 2019
hintonda added a comment.
In D60151#1453099 <https://reviews.llvm.org/D60151#1453099>, @alexfh wrote:
> The change looks fine, but I don't understand the description of this revision. Could you clarify which checkers you're talking about and which bug you observe?
Sorry for not being clearer in my original description.
The error can be triggered by opening up a new `llvm` namespace under `clang::tidy` prior to referencing `llvm::SmallSet`, which would happened if a new llvm checker that gets included in `LLVMTidyModule.cpp` before `HeaderGuardCheck.h` -- `HeaderGuardCheck.h` includes `HeaderFileExternsions.h` prior to opening the new `llvm` namespace. Here's the error message you'd get:
llvm-project/clang-tools-extra/clang-tidy/llvm/../utils/../utils/HeaderFileExtensionsUtils.h:24:9: error: no template named 'SmallSet' in namespace 'clang::tidy::llvm'; did you mean '::llvm::SmallSet'?
typedef llvm::SmallSet<llvm::StringRef, 5> HeaderFileExtensionsSet;
^~~~~~~~~~~~~~
::llvm::SmallSet
llvm-project/llvm/include/llvm/ADT/SmallSet.h:134:7: note: '::llvm::SmallSet' declared here
class SmallSet {
^
llvm-project/clang-tools-extra/clang-tidy/llvm/../utils/../utils/HeaderFileExtensionsUtils.h:24:30: error: no member named 'StringRef' in namespace 'clang::tidy::llvm'
typedef llvm::SmallSet<llvm::StringRef, 5> HeaderFileExtensionsSet;
~~~~~~^
2 errors generated.
Here's the one line contrived change needed to demonstrate the error produced above, which is the same effect of including an `llvm` checker header before including this file:
--- a/clang-tools-extra/clang-tidy/utils/HeaderFileExtensionsUtils.h
+++ b/clang-tools-extra/clang-tidy/utils/HeaderFileExtensionsUtils.h
@@ -16,6 +16,7 @@
namespace clang {
namespace tidy {
+namespace llvm {}
namespace utils {
typedef llvm::SmallSet<llvm::StringRef, 5> HeaderFileExtensionsSet;
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60151/new/
https://reviews.llvm.org/D60151
More information about the cfe-commits
mailing list