[PATCH] 0/19 modula-2 front end patches overview
Gaius Mulley
gaiusmod2@gmail.com
Mon Oct 10 15:31:18 GMT 2022
Here are the latest modula-2 front end patches for review.
The status of the patches and their contents are also contained at:
https://splendidisolation.ddns.net/public/modula2/patchsummary.html
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
https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595725.html).
Objects can be linked via g++. New linking options
are available to allow linking with/without a scaffold.
* gcc/m2/Make-lang.in (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
options.
Testing
=======
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
Sources
=======
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.gnu.org/git/gcc.git gcc-git-devel-modula2
cd gcc-git-devel-modula2
git checkout devel/modula-2
The complete patch set is also available from:
https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
which can be applied to the gcc-13 master branch via:
git clone git://gcc.gnu.org/git/gcc.git gcc-git
wget --no-check-certificate \
https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
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
https://splendidisolation.ddns.net/public/modula2/gm2patchset.tar.gz
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
regards,
Gaius
More information about the Gcc-patches
mailing list