In C++17 the postfix-expression of a call expression is sequenced before each expression in the expression-list and any default argument.
Details
Diff Detail
- Repository
- rC Clang
Event Timeline
Don't visit the pre-argument expression(s). A pre-argument expression is only present for CUDAKernelCallExpr, and it is just a CallExpr for the configuration call, which I don't think we need to visit. This makes the usage of CallExpr::arguments() possible and results in cleaner code.
Maybe @aaron.ballman / @rsmith could take a look? This patch blocks the whole patch stack.
I rebased it on top of the others already accepted patches. I just need to get back +w access to the GitHub repo to commit them, but this patch is not blocking them anymore.
Note that I am not entirely sure that the implementation in getMemoryLocation is the right way to do this; I think that this patch should be considered a work-in-progress.
Duh, I meant to post this comment in D57660 instead. Still this patch is not blocking the other already accepted patches.
@rsmith Could you take a look at this patch when you have some time? This is the last C++17 sequencing rule which is missing from SequenceChecker and is very similar to the other already accepted patches.