------- Comment #16 from gdr at cs dot tamu dot edu  2006-01-25 03:40 -------
Subject: Re:  [3.4/4.0/4.1] [DR 392] Reference binding and explicit copy
constructors

"hhinnant at apple dot com" <[EMAIL PROTECTED]> writes:

| (In reply to comment #11)
| > | Did you read comment 3? 
| > 
| > Yes.  Is your claim that whether the copy constructor is converting or
| > not does not matter? 
| 
| No.  My suspicion is that there is a 99.99% chance that EDG is conforming to
| C++03 in this regard.

Further investigation reveals this:  If an implementation chooses the
second bullet (where it elects to copy the temporary to another
temporary) what is the semantics?  Is it copy-initialization as
everywhere else in argument pass-by-value?  Or is it 
direct-initialization?  That is what my question meant.  GCC always
uses copy-initialization in function argument passing, except when the
parameter directly binds, i.e. no temporary is needed.

| And furthermore, their behavior (which is different from
| ours) is preferable to our customers.

I think I know where this PR comes from (move semantics simulation
anyone? :-).  My main objection is classifying it as regression.  The
issue would deserve a DR if we did not already have 391.

-- Gaby


-- 


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

Reply via email to