This is the mail archive of the 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:

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

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
(916) 791-8304

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