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

"pinskia at gcc dot gnu dot org" <[EMAIL PROTECTED]> writes:

| ------- Additional Comments From pinskia at gcc dot gnu dot org  2005-05-19 
23:19 -------
| (In reply to comment #4)
| > but apparently the warning logic overlooks the same problem when returning
| > arguments.
| 
| Actually it cannot know and here is why,

Andrew --

  Please, be less hastly when analyzing PRs.  If you look through the
claims, some of them are valid.  

| take the following example:
| template<class T> const
|  T& operator |(T t1, const T& t2) { return t1 |= t2; }
| 
| struct f{ f &operator|=(const f&);};
| f i;
| f j;
| 
| f h = i | j;
| 
| We call |= which it self returns a reference so there is no way to
| the compiler to know it is actually returning a local variable or
| not.

Yes, but not all cases fall under that complication.  Simple cases
should be handled.  Please reopen this PR.

-- Gaby


-- 


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

Reply via email to