http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61093
Bug ID: 61093 Summary: faulty reference initialization in return statement Product: gcc Version: 4.6.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: listcrawler at gmail dot com The program below compiles without error, although an int & is initialized from a float const. //////////////////////////////////////////////////////////////// typedef int & T; T f (float const & arg) { return T (arg); // XXX initializes int & from float const } int main () { float const a (1); T t (f (a)); } ////////////////////////////////////////////////////////////////