nickdesaulniers added a comment.

In D77611#1968227 <https://reviews.llvm.org/D77611#1968227>, @dblaikie wrote:

> Looks like GCC warns on everything but the last unused expression (the last 
> one being the return statement) - only warning on that last one if it's 
> ultimately unused by the statement expression function call, as it were (& is 
> annotated warn_unused_result). Basically, it models it like a function in a 
> way that Clang perhaps does not?


For the case of warn_unused_result, it doesn't matter whether the unused call 
is the first or last statement in the statement expression: 
https://godbolt.org/z/DDgsVC (notice that trunk of LLVM warns now, just not for 
the return value case from my added test).

So GCC treats the return value from statement expressions differently from 
return values from functions in this regard: https://godbolt.org/z/83wP7W


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77611



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

Reply via email to