[PATCH] D62829: [clang-tidy] Check for dynamically initialized statics in headers.
Aaron Ballman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 5 05:34:49 PDT 2019
aaron.ballman added inline comments.
================
Comment at: clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp:47
+void DynamicStaticInitializersCheck::registerMatchers(MatchFinder *Finder) {
+ if (!getLangOpts().CPlusPlus || getLangOpts().ThreadsafeStatics)
+ return;
----------------
Why is this check disabled for C++? I would expect dynamic init of a static in a C++ header file would be flagged by this check.
================
Comment at: clang-tools-extra/test/clang-tidy/bugprone-dynamic-static-initializers.hpp:1
+// RUN: %check_clang_tidy %s bugprone-dynamic-static-initializers %t
+
----------------
I'm a bit confused.
1) Why is this file a .hpp if the check is currently supposed to be C-only?
2) Why are there no `#include` directives in the test if the check is supposed to only work on header files?
As best I can tell, this is a moral equivalent to doing: clang -x c whatever.h, and so this should be a compilation unit and not a header file. @alexfh, do you have thoughts there?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62829/new/
https://reviews.llvm.org/D62829
More information about the cfe-commits
mailing list