[PATCH] D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs

Nick Desaulniers via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 7 16:22:52 PDT 2020


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





More information about the cfe-commits mailing list