xazax.hun added a comment. In D116022#3205478 <https://reviews.llvm.org/D116022#3205478>, @gribozavr2 wrote:
>> How resilient is this pattern matching? > > Possibly it is not very robust. However it is very important for a certain > style of precondition verification macros used by various Google projects. I > can't find an exact open source copy, but they are generally similar to this > one, but usually use a ternary instead of an if statement: > > https://source.chromium.org/chromium/chromium/src/+/main:third_party/re2/src/util/logging.h > > Also similar to this one, but with an object that has a noreturn destructor > instead of inline assembly that causes a trap: > > https://source.chromium.org/chromium/chromium/src/+/main:base/check.h > > If it wasn't for this "curious" coding pattern that is stamped into many > function thanks to the macro, we wouldn't be bothering with this pattern > matching at this point. I see. This makes sense as a temporary workaround, but in the long term I'd love to see a more general solution. I'm ok with this as is, but I'd love to see more tests that (possibly) does not provide the expected results along some TODOs and some comments about the specific coding patterns this is targeting. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D116022/new/ https://reviews.llvm.org/D116022 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits