On 7/10/24 5:37 AM, Nina Dinka Ranns wrote:
On Tue, 9 Jul 2024 at 22:50, Jason Merrill <ja...@redhat.com
<mailto:ja...@redhat.com>> wrote:
On 7/9/24 6:41 AM, Nina Dinka Ranns wrote:
> On Mon, 8 Jul 2024 at 16:01, Jason Merrill <ja...@redhat.com
<mailto:ja...@redhat.com>
> <mailto:ja...@redhat.com <mailto:ja...@redhat.com>>> wrote:
>
> On 7/8/24 7:47 AM, Nina Dinka Ranns wrote:
> > HI Jason,
> >
> > On Fri, 5 Jul 2024 at 17:31, Jason Merrill
<ja...@redhat.com <mailto:ja...@redhat.com>
> <mailto:ja...@redhat.com <mailto:ja...@redhat.com>>> wrote:
> >>
> >> On 7/5/24 10:25 AM, Nina Dinka Ranns wrote:
> >>> Certain places in contract parsing currently do not
check for
> errors.
> >>> This results in contracts
> >>> with embedded errors which eventually confuse gimplify.
Checks for
> >>> errors added in
> >>> grok_contract() and cp_parser_contract_attribute_spec()
to exit
> early
> >>> if an error is encountered.
> >>
> >> Thanks for the patch!
> >>
> >>> Tested on x86_64-pc-linux-gnu
> >>> ---
> >>>
> >>> PR c++/113968
> >>>
> >>> gcc/cp/ChangeLog:
> >>>
> >>> * contracts.cc (grok_contract): Check for
> error_mark_node early
> >>> exit
> >>
> >> These hunks are OK.
> >>
> >>> * parser.cc (cp_parser_contract_attribute_spec):
> Check for
> >>> error_mark_node early exit
> >>
> >> This seems redundant, since finish_contract_attribute already
> checks for
> >> error_mark_node and we're returning its result unchanged.
> >
> > good catch, removed.
> >
> >>
> >> Also, the convention is for wrapped lines in ChangeLog
entries
> to line
> >> up with the *, and to finish sentences with a period.
> >
> > done.
> >
> > Tests re-run on x86_64-pc-linux-gnu , no change.
>
> This looks good, but the patch doesn't apply due to word
wrap. To
> avoid
> that, I tend to use git send-email; sending the patch as an
attachment
> is also OK. Or see
>
> https://www.kernel.org/doc/html/latest/process/email-clients.html
<https://www.kernel.org/doc/html/latest/process/email-clients.html>
>
<https://www.kernel.org/doc/html/latest/process/email-clients.html
<https://www.kernel.org/doc/html/latest/process/email-clients.html>>
>
> for tips on getting various email clients to leave patches alone.
>
>
> ack, thank you for your patience.
> This time, patch attached to the email.
It looks like the attached patch reverted to older ChangeLog entries,
without the periods, and with the dropped parser.cc change?
git gcc-verify also complains
> ERR: line should start with a tab: " * contracts.cc
(grok_contract): Check for error_mark_node early"
> ERR: line should start with a tab: " exit"
> ERR: line should start with a tab: " * parser.cc
(cp_parser_contract_attribute_spec): Check for"
> ERR: line should start with a tab: " error_mark_node
early exit"
> ERR: line should start with a tab: " *
g++.dg/contracts/pr113968.C: New test."
> ERR: PR 113968 in subject but not in changelog: "c++, contracts:
Fix ICE in create_tmp_var [PR113968]"
Jason
Apologies. I must have copy pasted something wrong. I've setup
gcc-verify and that passes.
Let's try again. Patch attached.
Pushed, thanks.
Jason