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] |
Hi, On 06/17/2013 10:30 PM, Jason Merrill wrote:
I see... There is a little difficulty in that 56794 involves a non-type variadic parameter and in that case type_dependent_expression_p returns false. If I use value_dependent_expression_p things work, but I'm not sure it's 100% correct.On 06/17/2013 04:08 PM, Paolo Carlini wrote:+ if (TREE_CODE (TREE_TYPE (*tp)) == ARRAY_TYPE + && !TYPE_DOMAIN (TREE_TYPE (*tp)) + && DECL_INITIAL (*tp) + && type_dependent_expression_p (DECL_INITIAL (*tp))) + return *tp;I think this approach makes sense, but it should go in type_dependent_expression_p rather than instantiation_dependent_r.And please revert my fix for 56794, since this should fix one as well.
I considered replacing it with uses_template_parms?!? Testing is fine with it too. It's also fine with both type_dependent_expression_p || value_dependent_expression_p.
Eventually, we'll have to decide where we want to commit this: 56794 is fixed in 4.7 and 4.8 too, but it's true that the issue with the specific testcase attached by Jon isn't a regression.
Thanks, Paolo. ////////////////
Attachment:
CL_53211
Description: Text document
Attachment:
patch_53211_2
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |