[Bug c++/92031] New: Incorrect "taking address of r-value" error
bugzilla at myosotissp dot com
gcc-bugzilla@gcc.gnu.org
Tue Oct 8 13:54:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92031
Bug ID: 92031
Summary: Incorrect "taking address of r-value" error
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: bugzilla at myosotissp dot com
Target Milestone: ---
In the following code, starting with gcc-9.1 gcc incorrectly fails to compile
the template function f ("error: taking address of rvalue [-fpermissive]").
clang, icc and gcc-8.3 and earlier all accept it. Also, gcc-9.1 has no problem
with the exact same code in a non-template function (see g() in the repro).
---------------------------
struct x { const int& l; };
void a(const x&) {}
template<class E>
void f() {
a(x { 0 });
}
auto g() {
a(x { 0 });
}
---------------------------
Also, godbolt link: https://godbolt.org/z/YWLM5i
More information about the Gcc-bugs
mailing list