[PATCH] D23130: [Clang-tidy] Add a check for definitions in the global namespace.
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 4 05:39:58 PDT 2016
aaron.ballman added inline comments.
================
Comment at: clang-tidy/misc/GlobalNamespaceCheck.cpp:72
@@ +71,3 @@
+ "move it into a namespace or give it "
+ "internal linkage to avoid ODR conflicts")
+ << MatchedDecl;
----------------
ODR violations instead of ODR conflicts?
================
Comment at: docs/clang-tidy/checks/misc-global-namespace.rst:7
@@ +6,2 @@
+Finds definitions in the global namespace. Those definitions are prone to ODR
+conflicts.
----------------
violations instead of conflicts. Also, expanding the documentation a bit more would be useful -- not everyone understands what an ODR violation is, why it would be bad, etc. It can even be as simple as adding in an external link for more info.
================
Comment at: test/clang-tidy/misc-global-namespace.cpp:13
@@ +12,3 @@
+
+extern "C" void h() {}
+
----------------
Add a case for `extern "C" int i;`?
Also, isn't this a definition with external linkage in C++ (or is it only in C)? `extern int i = 30;` Assuming it's a definition, should this also trigger the diagnostic?
Repository:
rL LLVM
https://reviews.llvm.org/D23130
More information about the cfe-commits
mailing list