public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/rust/master] Merge #1055
@ 2022-06-08 12:24 Thomas Schwinge
  0 siblings, 0 replies; only message in thread
From: Thomas Schwinge @ 2022-06-08 12:24 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:a7e723469220b6765463d27b3e19ffd27f1baadd

commit a7e723469220b6765463d27b3e19ffd27f1baadd
Merge: 89ad4f21f25 7ea35487a21
Author: bors[bot] <26634292+bors[bot]@users.noreply.github.com>
Date:   Fri Mar 25 10:23:43 2022 +0000

    Merge #1055
    
    1055: Allow keeping list of last matches to check against r=CohenArthur a=CohenArthur
    
    When trying to figure out if a match can follow another, we must figure
    out whether or not that match is in the follow-set of the other. If that
    match is zeroable (i.e a repetition using the * or ? kleene operators),
    then we must be able to check the match after them: should our current
    match not be present, the match after must be part of the follow-set.
    This commits allows us to performs such checks properly and to "look
    past" zeroable matches. This is not done with any lookahead, simply by
    keeping a list of pointers to possible previous matches and checking all
    of them for ambiguities.
    
    Addresses #947
    Closes #947
    
    Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com>

Diff:

 gcc/rust/ast/rust-macro.h             |  8 ++++++++
 gcc/rust/parse/rust-parse-impl.h      | 31 ++++++++++++++++++++++++++++---
 gcc/rust/parse/rust-parse.cc          | 31 +++++++++++++++++--------------
 gcc/rust/parse/rust-parse.h           |  4 ++--
 gcc/testsuite/rust/compile/macro37.rs |  5 +++++
 gcc/testsuite/rust/compile/macro38.rs |  5 +++++
 6 files changed, 65 insertions(+), 19 deletions(-)


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-08 12:24 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-08 12:24 [gcc/devel/rust/master] Merge #1055 Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).