http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50056
Bug #: 50056 Summary: Binding a temporary object to a reference Classification: Unclassified Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: wolfgang.roe...@gi-de.com Hi all, I would like to post a bug report for the GNU C/C++ compiler version 4.5.2 (powerpc-rtems4.11). We use the compiler to generate code for a PowerPC processor. The compiler is invoked with the following options: ccppc -c -x c++ -ansi -Wall -Werror -g -mcpu=8540 -fverbose-asm -mbig -mfloat-gprs=double -mspe -mabi=spe -meabi -msdata -fno-common -mmultiple -mno-string -misel -mstrict-align -fgcse-sm -fno-rename-registers -fno-section-anchors -G 8 -Os -fno-exceptions -fno-rtti -I<some include paths> -D<some #define's> X.CPP -oX.O // file X.CPP struct S { S(); ~S(); void func () const; }; void test (void) { const S& s = static_cast<const S&>(S()); s.func (); } The code compiles fine but function test() is translated to the following pseudo code: call S::S() call S::~S() --> now we have a dangling reference s without an object call S::func() --> calling an element function without an object Kind regards W. Roehrl