jranieri-grammatech added a comment.

In D54222#1290789 <https://reviews.llvm.org/D54222#1290789>, @JonasToth wrote:

> I agree with @Eugene.Zelenko that this check should rather live in 
> `bugprone-` as the issue its diagnosing is not LLVM specific. It is ok to add 
> an alias into the llvm module.

Here are the warnings it issues with the patch's matcher:

  clang/include/clang/StaticAnalyzer/Core/CheckerManager.h:625:43: warning: 
address of static local variable 'tag' may not be identical across library 
boundaries [llvm-problematic-statics]
  
clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h:219:1:
 warning: address of static local variable 'Index' may not be identical across 
library boundaries [llvm-problematic-statics]
  
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h:25:1:
 warning: address of static local variable 'Index' may not be identical across 
library boundaries [llvm-problematic-statics]

And here are the additional warnings it issues when relaxing the matcher (to be 
`unless(isExpansionInMainFile())`):

  clang/lib/StaticAnalyzer/Checkers/Iterator.h:130:47: warning: address of 
static local variable 'Index' may not be identical across library boundaries 
[llvm-problematic-statics]
  clang/lib/StaticAnalyzer/Checkers/Iterator.h:136:47: warning: address of 
static local variable 'Index' may not be identical across library boundaries 
[llvm-problematic-statics]
  clang/lib/StaticAnalyzer/Checkers/Iterator.h:142:47: warning: address of 
static local variable 'Index' may not be identical across library boundaries 
[llvm-problematic-statics]
  clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPITypes.h:60:5: warning: 
address of static local variable 'index' may not be identical across library 
boundaries [llvm-problematic-statics]
  llvm/utils/unittest/googletest/src/gtest.cc:3989:3: warning: address of 
static local variable 'instance' may not be identical across library boundaries 
[llvm-problematic-statics]

And also this one, which was hidden by default but made running tidy noisier by 
always saying there was a hidden warning:

  /usr/bin/../include/c++/v1/functional:1960:9: warning: address of static 
local variable '__policy_' may not be identical across library boundaries 
[llvm-problematic-statics]

All of the first set of warnings might be actual problems, but the second set 
definitely aren't problems because they aren't going to be used across shared 
library boundaries. By making this be a LLVM-specific check, we can avoid the 
noise of these false positives. Also, I looked through the C++ Core Guidelines 
for any rules that might address this but didn't see anything relevant.

Thoughts?


Repository:
  rCTE Clang Tools Extra

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D54222/new/

https://reviews.llvm.org/D54222

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to