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

Reply via email to