https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63181

            Bug ID: 63181
           Summary: GCC should warn about "obvious" bugs in binding a
                    reference to temporary
           Product: gcc
           Version: 4.9.2
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: brooks at gcc dot gnu.org

GCC should warn about "obvious" bugs in binding a reference to temporary.

Small test case:

struct Foo {
   Foo(int x): x_(x) { }
   int& x_;
};


int main()
{
   Foo f(0);
   return f.x_;
}

Gcc -Wall is silent.


Clang detects this clearly:
clang++ foo.cc -Wall
foo.cc:2:19: warning: binding reference member 'x_' to stack allocated
parameter 'x' [-Wdangling-field]
   Foo(int x): x_(x) { }
                  ^
foo.cc:3:9: note: reference member declared here
   int& x_;
        ^
1 warning generated.

Reply via email to