This revision was automatically updated to reflect the committed changes.
Closed by commit rL348025: [analyzer][PlistMacroExpansion] Part 5.: Support for
# and ## (authored by Szelethus, committed by ).
Herald added subscribers: llvm-commits, gamesh411.
Changed prior to commit:
https://reviews.
NoQ accepted this revision.
NoQ added a comment.
This revision is now accepted and ready to land.
Yay.
https://reviews.llvm.org/D52988
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Szelethus updated this revision to Diff 170073.
Szelethus added a comment.
Fixed an issue where if `##` had spaces around it, those spaces weren't removed.
https://reviews.llvm.org/D52988
Files:
lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
test/Analysis/Inputs/expected-plists/plist-macros-w
Szelethus added a comment.
I verified this project on tmux, which uses the preprocessor very heavily. It
works perfectly, and doesn't crash anywhere despite the **very** liberal use of
asserts.
In https://reviews.llvm.org/D52988#1267382, @whisperity wrote:
> Looks good.
>
> What happens if the
whisperity added a comment.
Looks good.
What happens if the macro is to stringify a partially string argument?
#define BOOYAH(x) #x ";
...
std::string foo = BOOYAH(blabla)
std::string foo2 = BOOYAH("blabla)
int x = 2;
Not sure if these cases are even valid C(XX), but if they ar
Szelethus updated this revision to Diff 169871.
Szelethus added a comment.
Herald added a subscriber: dkrupp.
This patch didn't really work, sometimes it printed extra spaces, sometimes
printed the hash tokens, and so on, so I refactored the whole project to deal
with this issue almost out of th
Szelethus created this revision.
Szelethus added reviewers: xazax.hun, NoQ, george.karpenkov, rnkovacs,
baloghadamsoftware.
Herald added subscribers: cfe-commits, mikhail.ramalho, a.sidorin, szepet,
whisperity.
>From what I can see, this should be the last patch needed to replicate macro
>argum