* [PATCH] 0/19 modula-2 front end patches overview
@ 2022-10-10 15:31 Gaius Mulley
2022-10-12 12:31 ` Rainer Orth
2022-11-11 14:02 ` Richard Biener
0 siblings, 2 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-10-10 15:31 UTC (permalink / raw)
To: gcc-patches
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] 0/19 modula-2 front end patches overview
2022-10-10 15:31 [PATCH] 0/19 modula-2 front end patches overview Gaius Mulley
@ 2022-10-12 12:31 ` Rainer Orth
2022-10-12 13:06 ` Gaius Mulley
2022-11-11 14:02 ` Richard Biener
1 sibling, 1 reply; 7+ messages in thread
From: Rainer Orth @ 2022-10-12 12:31 UTC (permalink / raw)
To: Gaius Mulley via Gcc-patches; +Cc: Gaius Mulley
Hi Gaius,
> Testing
> =======
[...]
> The devel/modula-2 branch has been bootstrapped on:
>
[...]
> sparc64 solaris
> sparc32 solaris
which versions exactly did you run those bootstraps on? I'm asking
because for Solaris 11.4/SPARCV9 (sparcv9-sun-solaris2.11) was fine,
while Solaris 11.4/SPARC (sparc-sun-solaris2.11) still runs into PR
modula2/101392 (cc1gm2 -fdump-system-exports SEGV on Solaris/SPARC).
For good measure, I also tried Solaris 11.3/SPARC (matching gcc211 in
the cfarm), but that only revealed a couple of additional issues not
seen on 11.4:
modula2/107233 gm2 build hardcodes python3
modula2/107234 Format error in m2pp.cc (m2pp_integer_cst)
modula2/107235 m2/boot-bin/mc leaks file descriptors
before running into the same SEGV in the end.
Just for the record, both Solaris 11.4/amd64 (amd64-pc-solaris2.11) and
Solaris 11.4/i386 (i386-pc-solaris2.11) are fine.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] 0/19 modula-2 front end patches overview
2022-10-12 12:31 ` Rainer Orth
@ 2022-10-12 13:06 ` Gaius Mulley
0 siblings, 0 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-10-12 13:06 UTC (permalink / raw)
To: Rainer Orth; +Cc: Gaius Mulley via Gcc-patches
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes:
> Hi Gaius,
>
>> Testing
>> =======
> [...]
>> The devel/modula-2 branch has been bootstrapped on:
>>
> [...]
>> sparc64 solaris
>> sparc32 solaris
>
> which versions exactly did you run those bootstraps on? I'm asking
> because for Solaris 11.4/SPARCV9 (sparcv9-sun-solaris2.11) was fine,
> while Solaris 11.4/SPARC (sparc-sun-solaris2.11) still runs into PR
> modula2/101392 (cc1gm2 -fdump-system-exports SEGV on Solaris/SPARC).
Hi Rainer,
ah very sorry - I thought I was relaying a summary of your findings.
Thanks for the clarification and detailed correction.
> For good measure, I also tried Solaris 11.3/SPARC (matching gcc211 in
> the cfarm), but that only revealed a couple of additional issues not
> seen on 11.4:
>
> modula2/107233 gm2 build hardcodes python3
> modula2/107234 Format error in m2pp.cc (m2pp_integer_cst)
> modula2/107235 m2/boot-bin/mc leaks file descriptors
>
> before running into the same SEGV in the end.
thanks for the PRs above - will apply fixes to the first two and
examine the 3rd (again).
> Just for the record, both Solaris 11.4/amd64 (amd64-pc-solaris2.11) and
> Solaris 11.4/i386 (i386-pc-solaris2.11) are fine.
great news and thanks for this report,
regards,
Gaius
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] 0/19 modula-2 front end patches overview
2022-10-10 15:31 [PATCH] 0/19 modula-2 front end patches overview Gaius Mulley
2022-10-12 12:31 ` Rainer Orth
@ 2022-11-11 14:02 ` Richard Biener
2022-11-14 13:57 ` Gaius Mulley
2022-11-30 13:29 ` Richard Biener
1 sibling, 2 replies; 7+ messages in thread
From: Richard Biener @ 2022-11-11 14:02 UTC (permalink / raw)
To: Gaius Mulley; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers
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.
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.
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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] 0/19 modula-2 front end patches overview
2022-11-11 14:02 ` Richard Biener
@ 2022-11-14 13:57 ` Gaius Mulley
2022-11-30 13:29 ` Richard Biener
1 sibling, 0 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-11-14 13:57 UTC (permalink / raw)
To: Richard Biener; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers
Richard Biener <richard.guenther@gmail.com> writes:
> 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 front end feels alot cleaner now!
> 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.
>
> 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.
great news thanks - yes this makes sense,
regards,
Gaius
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] 0/19 modula-2 front end patches overview
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
1 sibling, 1 reply; 7+ messages in thread
From: Richard Biener @ 2022-11-30 13:29 UTC (permalink / raw)
To: Gaius Mulley; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers
On Fri, Nov 11, 2022 at 3:02 PM Richard Biener
<richard.guenther@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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] 0/19 modula-2 front end patches overview
2022-11-30 13:29 ` Richard Biener
@ 2022-12-05 13:33 ` Gaius Mulley
0 siblings, 0 replies; 7+ messages in thread
From: Gaius Mulley @ 2022-12-05 13:33 UTC (permalink / raw)
To: Richard Biener; +Cc: gcc-patches, Jakub Jelinek, Joseph S. Myers
Richard Biener <richard.guenther@gmail.com> writes:
>>
>> 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.
Hi Richard,
certainly will do - and thanks!
regards,
Gaius
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-12-05 13:33 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-10 15:31 [PATCH] 0/19 modula-2 front end patches overview Gaius Mulley
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
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).