<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/141906>141906</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            -Wreturn-stack-address false negative
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            false-negative
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          JVApen
      </td>
    </tr>
</table>

<pre>
    ````
#include <tuple>
#include <iostream>

struct A {
    int i;
};

auto getA(int i) -> const A& {
    std::tuple<A> tuple = std::make_tuple<A>(A{i});
 return std::get<A>(tuple);
}

int main() {
    std::cout << getA(9).i;
}
````
[Code on compiler-explorer](https://godbolt.org/z/1G11j9z3d)

MSVC does report a warning here: `warning C4172: returning address of local variable or temporary : tuple`
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsUstu2zAQ_JrVZSGDIvU86CDbcYECPRVIjwUlrmUmlCiQlNvk6wv6AadpAQMWd2dmZ4eU3utxJmqh2EKxT-QaTta1X5-7heakt-qthZI9fqwDLvQ8mFURgtiFdTEE4umfhrY-OJLTrcc6H9w6BOwQqi2wDhFRzwE1iHiEan_7YJ1cg8WRQge8vkJ4gymIJxzs7AN2wMsPKj4oEB2I7uZl10Xo5YAg9o_-JF_p50cQ8LqDaqvjcN5c56OjsLr5wRopPOBX9h0beRfH0eUk9Qy8jl7_422wa4ixgNjdV2uANxv9l9KnpIvtzipCO-Ngp0Ubcin9Xox15KDYA69PISw-DuAH4IfRqt6asLFuBH54B37IvmTZS_MuVLR8cfrt-_MOlSWPjhbrAkr8Jd2s5xFP5AhEh1Cye2mXZxWPtWsosSSVcuQ92iMaO0iDZ-m07A2hdRhoWqyT7g0j6RpWyRLVCtWIRibUZlVeF0zkdZacWtErlfckRdlLVtcly7NjkzVKFaouOTsmuuWMF6zgDat4nmcbWTWKs0opUTR1n5eQM5qkNhtjzlNcPNHer9RmedawMjGyJ-Mvb5vzozSe0plGGfSZgPP43l0bmWm_jh5yZrQP_qEVdDDUpj-u26c-yOE1vQdwkcO7XLI60366Dh1Oa78Z7AT8EDVvf-ni7AsNAfjhYtbHi7r6Pbf8TwAAAP__-A8PnQ">