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,
What I'm attaching below isn't affected by this problem: I moved the check further up - *before* maybe calling cp_parser_simulated_error because an initializer isn't in sight - and is carried out only when !cp_parser_error_occurred, thus cp_parser_declarator succeeded . cp_parser_commit_to_tentative_parse is called when the check fails. Bootstrapped and tested on x86_64-linux.On 18/05/2018 01:21, Jason Merrill wrote:On Thu, May 17, 2018 at 5:54 PM, Paolo Carlini <paolo.carlini@oracle.com> wrote:On 17/05/2018 16:58, Jason Merrill wrote:Agreed. I had the amended patch ready when I noticed (again) that it wasn't addressing another related class of issues which involves declarators not followed by initializers. Thus I tried to fix those too, and the below which moves the check up appears to work fine, passes testing, etc. Are there any risks that an erroneous function / array as declarator is in fact a wellOn Thu, May 17, 2018 at 10:27 AM, Paolo Carlini <paolo.carlini@oracle.com> wrote:PS: maybe better using function_declarator_p?I think so, yes. The relevant rule seems to be "The declarator shall not specify a function or an array.", so let's check for arrays, too.formed expression?!?That doesn't matter; if it parses as a declarator, it's a declarator, even if it's an ill-formed declarator. But... + bool decl_p = cp_parser_parse_definitely (parser);+ if (!cp_parser_check_condition_declarator (parser, declarator, loc))+ return error_mark_node; ...if cp_parser_parse_definitely returns false, parsing as a declarator failed, so we shouldn't look at "declarator".
Thanks! Paolo. //////////////////////
Attachment:
patch_84588_8
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |