On Fri, Nov 11, 2022 at 3:02 PM Richard Biener <richard.guent...@gmail.com> wrote: > > On Mon, Oct 10, 2022 at 5:32 PM Gaius Mulley via Gcc-patches > <gcc-patches@gcc.gnu.org> wrote: > > > > > > 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. > > Thanks for these improvements! > > The frontend specific parts are a lot to digest and I think it isn't > too important to > wait for the unlikely event that all of that gets a review. I'm > trusting you here > as a maintainer and also based on the use of the frontend out in the wild. > I've CCed the other two RMs for their opinion on this.
There's consensus on this from at least the majority of the RMs now. > I hope to get to the driver parts that I reviewed the last time, I'd > appreciate a look > on the runtime library setup by somebody else. > > I think it's important to get this (and the rust frontend) into the tree > before > Christmas holidays so it gets exposed to the more weird treatment of some > of our users (build wise). This way we can develop either a negative or > positive list of host/targets where to disable the new frontends. So let's go ahead with the Modula-2 merge. Gaius, can you post a final series of the patches and perform the merging please? Thus - OK to merge to trunk! Thanks, Richard. > Thanks, > Richard. > > > > > 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