This is the mail archive of the gcc-patches@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]

Re: [C++ PATCH]:Fix 14397


Nathan Sidwell wrote:

Mark,
this fixes 14397 a fallout from your 12226 patch. I'm mildly concerned
that we're building an IDENTITY_CONV for something that's really a
QUAL_CONV. I think this is another case of us not doing the algorithm
in the std, but doing one nearly the same that (presumably) has the same
outputs.

built and tested on i686-pc-linux-gnu, ok?

I don't think that's probably quite the right fix. (For instance, if it makes sense to add "const" it probably makes sense to add "volatile" too.)


The problem is probably that the result of build_dummy_object() is being considered an
lvalue, but the original expression for which it is a proxy is an rvalue.


I think that we should wrap the dummy object in a NON_LVALUE_EXPR in that case, so that the overloading routines will just DTRT.

Do you want to give that a try, or do you want to punt it back to me?

Thanks,

--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@codesourcery.com


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