Hi again,

On 04/30/2012 07:04 PM, Jason Merrill wrote:
On 04/29/2012 11:42 AM, Paolo Carlini wrote:
This might just be a matter of calling for_each_template_parm and
returning 1 if we see any template parameter.
Good. Today I quickly tried something along these lines (see 'p'
attachment) and got some fails:

Ah, well. I guess for_each_template_parm doesn't look at the types of declarations.
Just wanted to add that I just confirmed that *at least* the following testcases, regressing with the elementary for_each_template_parm patch:

FAIL: g++.dg/cpp0x/decltype21.C (test for excess errors)
FAIL: g++.dg/cpp0x/sfinae17.C (test for excess errors)
FAIL: g++.dg/cpp0x/sfinae21.C (test for excess errors)
FAIL: g++.dg/cpp0x/sfinae28.C (test for excess errors)

are characterized by expr with TREE_CODE (expr) == CONSTRUCTOR and TREE_TYPE (expr) == TEMPLATE_TYPE_PARM.

Paolo.

Reply via email to