public inbox for
 help / color / mirror / Atom feed
From: Gaius Mulley <>
To: <>
Subject: [PATCH] 0/19 modula-2 front end patches overview
Date: Mon, 10 Oct 2022 16:31:18 +0100	[thread overview]
Message-ID: <E1ohukQ-00BlzF-6M@lancelot> (raw)

Here are the latest modula-2 front end patches for review.
The status of the patches and their contents are also contained at:

where they are also broken down into topic groups.

In summary the high level changes from the last posting are:

   * the driver code has been completely rewritten and it is now based
     on the fortran driver and the c++ driver.  The gm2 driver adds
     paths/libraries depending upon dialect chosen.
   * the linking mechanism has been completely redesigned
     (As per
     Objects can be linked via g++.  New linking options
     are available to allow linking with/without a scaffold.
   * gcc/m2/ (rewritten).
   * gm2tools/ removed and any required functionality with the
     new linking mechanism has been moved into cc1gm2.

The gm2 testsuite has been extended to test project linking


1. bootstrap on gcc-13 master --enable-languages=c,c++,fortran,d,lto

2. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto
   no extra failures seen between contrib/compare_diffs 1 2

3. bootstrap on gcc-13 devel/modula-2 --enable-languages=c,c++,fortran,d,lto,m2
   no extra no m2 failures seen between contrib/compare_diffs 2 3

Steps 1, 2, 3 were performed on amd64 and aarch64 systems.

The devel/modula-2 branch has been bootstrapped on:

   amd64 (debian bullseye/suse leap, suse tumbleweed),
   aarch64 (debian bullseye),
   armv7l (raspian),
   ppc64 (GNU/Linux),
   ppc64le (GNU/Linux),
   i586 (debian bullseye),
   sparc64 solaris
   sparc32 solaris

and built on

   NetBSD 9.2 sparc64
   OpenBSD amd64


The patch set files follow in subsequent emails for review and copies
can be found in the tarball below.  For ease of testing the full front
end is also available via:

  git clone git:// gcc-git-devel-modula2
  cd gcc-git-devel-modula2
  git checkout devel/modula-2

The complete patch set is also available from:

which can be applied to the gcc-13 master branch via:

  git clone git:// gcc-git
  wget --no-check-certificate \
  tar zxf gm2patchset.tar.gz
  bash gm2patchset/apply-patch.bash gcc-git
  bash gm2patchset/pre-configure.bash gcc-git # regenerates configure and friends

when the script has completed the master branch should be identical
to git branch devel/modula-2 above modulo recent git master commits.

Review Patch Set

Here are all the source infrastructure files and all the c++/c sources
(minus the bootstrap tools as these are autogenerated from the
modula-2 sources).  I've not included the modula-2 sources (patch sets
18 and 19) in these emails as an attempt to reduce the email volume.
They are available in
and of course the git repro.

I'm happy to convert the documentation into sphynx and at a convenient
point would like to post the analyser patches for modula2.

Thank you for reviewing the patches and thank you to all the testers


             reply	other threads:[~2022-10-10 15:31 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-10 15:31 Gaius Mulley [this message]
2022-10-12 12:31 ` Rainer Orth
2022-10-12 13:06   ` Gaius Mulley
2022-11-11 14:02 ` Richard Biener
2022-11-14 13:57   ` Gaius Mulley
2022-11-30 13:29   ` Richard Biener
2022-12-05 13:33     ` Gaius Mulley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1ohukQ-00BlzF-6M@lancelot \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).