steakhal added a reviewer: steakhal.
steakhal requested changes to this revision.
steakhal added a comment.
This revision now requires changes to proceed.

This form of macro expansion is obsolete - I hope that the community agrees on 
this.
Crashes for many more cases then just the one you mentioned. Its a really hard 
and bugrone to mimic the preprocessor, thus we seek to substitute this with the 
clang's preprocessor implementation.
I recommend pushing an XFAIL lit test demonstrating the current limitation 
(without your proposed fix), while we can show that this will pass after we 
accept my patches.
For the record those are in an early phase at D93222 
<https://reviews.llvm.org/D93222>.



================
Comment at: clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp:1241
           if (TheTok.getIdentifierInfo() == VariadicParamII) {
-            TStream.injectRange(PrevParamMap.at(VariadicParamII));
+            if (PrevParamMap.find(VariadicParamII) != PrevParamMap.end())
+              TStream.injectRange(PrevParamMap.at(VariadicParamII));
----------------
Btw this lookup supposed to be successful. Always. Which suggests me that there 
are even more logic bug lurking there.
Without using 'at' here we wouldn't notice it, which is lucky.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93787

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

Reply via email to