This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/21672] Loses temporary in complex expression


------- Additional Comments From gdr at integrable-solutions dot net  2005-05-19 23:27 -------
Subject: Re:  Loses temporary in complex expression

"igodard at pacbell dot net" <gcc-bugzilla@gcc.gnu.org> writes:

| Yes, the friend function is returning a reference to its own argument, though
| that seems to disappear as the body gets inlined in *most* cases :-)
| 
| So please reopen this as a "missing warning" bug. In most cases of returning
| a reference to a function local, like:
| 
| int& foo() { int i; return i; }
| 
| you get:
| ~/ootbc/members$ g++ foo.cc
| foo.cc: In function `int& foo()':
| foo.cc:1: warning: reference to local variable `i' returned
| 
| but apparently the warning logic overlooks the same problem when returning
| arguments.

agreed.

-- Gaby


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21672


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]