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 for 3.4/4.0] Fix PR19311 (ICE overload resolutionfor pmf function argument)


Kriang Lerdsuwanakij wrote:
Hi

These patches fix PR19311 regression in 3.4/4.0.  Function overloading
logic for pointer-to-member function argument fails to deal with
NON_DEPENDENT_EXPR and produces ICE.

The regression was caused by my work to build non-dependent SCOPE_REF.
The intention was to have enough type to catch invalid usage of pmf
during parsing rather than during instantiation.  The SCOPE_REF tree
was used to also allow access checking when the template is instantiated.
However access checking of non-dependent SCOPE_REF has been broken
for quite a long time (see PR16617).

The patch for 4.0 has one additional hunk for unary_complex_lvalue.

I don't understand that hunk; why do we need to make the transformations in unary_complex_lvalue when in a template?


After your patch, do we ever still set PTRMEM_OK_P on an ADDR_EXPR? If not, you need to update PTRMEM_OK_P and the documentation for it.

Other than that, the patch looks OK to me. If you can answer the questions above, I'll approve the patch.

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


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