This is assertion removal. The assertion was saying that a function's return value is always a temporary object - which is not true when copy elision is happening, C++17 mandatory copy elision in particular (we don't support other forms of copy elision yet, but we have no choice but to support this one).
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/StaticAnalyzer/Core/ExprEngine.cpp | ||
---|---|---|
480 ↗ | (On Diff #139361) | I'm a bit confused as to what is going on here; maybe a short comment would be helpful? |