Re: why does gcc jit require pthread?

2022-11-19 Thread LIU Hao via Gcc-patches

在 2022-11-19 19:27, Jonathan Wakely 写道:

I rebased the patch and re-tested with those options, and all tests
passed again:


=== jit Summary ===

# of expected passes15081





The patch is OK for trunk if you have favorable answers for the above
two questions.


Thanks, I've pushed it to trunk now.


Thank you for taking care of it!


--
Best regards,
LIU Hao



OpenPGP_signature
Description: OpenPGP digital signature


Re: why does gcc jit require pthread?

2022-11-19 Thread Jonathan Wakely via Gcc-patches
On Tue, 15 Nov 2022 at 19:01, Jonathan Wakely  wrote:
>
> On Tue, 15 Nov 2022 at 18:50, David Malcolm  wrote:
> >
> > [Fixing typo in the Subject ("git" -> "jit" ); CCing jit mailing list]
> >
> > On Fri, 2022-11-11 at 17:16 +, Jonathan Wakely wrote:
> > > On Mon, 7 Nov 2022 at 13:51, Jonathan Wakely wrote:
> > > >
> > > > On Mon, 7 Nov 2022 at 13:33, LIU Hao wrote:
> > > > >
> > > > > 在 2022-11-07 20:57, Jonathan Wakely 写道:
> > > > > > It would be a lot nicer if playback::context met the C++
> > > > > > Lockable
> > > > > > requirements, and playback::context::compile () could just take
> > > > > > a
> > > > > > scoped lock on *this:
> > > > > >
> > > > > >
> > > > >
> > > > > Yeah yeah that makes a lot of sense. Would you please just commit
> > > > > that? I don't have write access to
> > > > > GCC repo, and it takes a couple of hours for me to bootstrap GCC
> > > > > just for this tiny change.
> > > >
> > > > Somebody else needs to approve it first. I'll combine our patches
> > > > and
> > > > test and submit it properly for approval.
> > >
> > > Here's a complete patch that actually builds now, although I'm seeing
> > > a stage 2 vs stage 3 comparison error which I don't have time to look
> > > into right now.
> >
> > I confess that I'm not familiar with C++11's mutex and locking types,
> > but having read through the relevant entries on cppreference.com, the
> > patch looks correct to me.
> >
> > Are these classes well-supported on the minimum compiler version we
> > support?  (Jonathan, I defer to your judgement here)
>
> std::mutex has been supported since 4.4.0 and is very simple. The
> implementation on trunk is identical to the one in gcc 4.8.5 except
> for adding 'noexcept' to mutex::native_handle (), which is not
> relevant to this change.
>
> > Jonathan: you said in your followup email that it "bootstraps and
> > passes testing on x86_64-pc-linux-gnu (CentOS 8 Stream)".  This is
> > possibly a silly question, but did this testing include the jit
> > testsuite?  A gotcha here is that --enable-languages=all does *not*
> > enable jit.
>
> Yes, I built with --enable-languages=c,c++,jit --enable-host-shared

I rebased the patch and re-tested with those options, and all tests
passed again:


   === jit Summary ===

# of expected passes15081




> > The patch is OK for trunk if you have favorable answers for the above
> > two questions.

Thanks, I've pushed it to trunk now.


Re: why does gcc jit require pthread?

2022-11-15 Thread Jonathan Wakely via Gcc-patches
On Tue, 15 Nov 2022 at 18:50, David Malcolm  wrote:
>
> [Fixing typo in the Subject ("git" -> "jit" ); CCing jit mailing list]
>
> On Fri, 2022-11-11 at 17:16 +, Jonathan Wakely wrote:
> > On Mon, 7 Nov 2022 at 13:51, Jonathan Wakely wrote:
> > >
> > > On Mon, 7 Nov 2022 at 13:33, LIU Hao wrote:
> > > >
> > > > 在 2022-11-07 20:57, Jonathan Wakely 写道:
> > > > > It would be a lot nicer if playback::context met the C++
> > > > > Lockable
> > > > > requirements, and playback::context::compile () could just take
> > > > > a
> > > > > scoped lock on *this:
> > > > >
> > > > >
> > > >
> > > > Yeah yeah that makes a lot of sense. Would you please just commit
> > > > that? I don't have write access to
> > > > GCC repo, and it takes a couple of hours for me to bootstrap GCC
> > > > just for this tiny change.
> > >
> > > Somebody else needs to approve it first. I'll combine our patches
> > > and
> > > test and submit it properly for approval.
> >
> > Here's a complete patch that actually builds now, although I'm seeing
> > a stage 2 vs stage 3 comparison error which I don't have time to look
> > into right now.
>
> I confess that I'm not familiar with C++11's mutex and locking types,
> but having read through the relevant entries on cppreference.com, the
> patch looks correct to me.
>
> Are these classes well-supported on the minimum compiler version we
> support?  (Jonathan, I defer to your judgement here)

std::mutex has been supported since 4.4.0 and is very simple. The
implementation on trunk is identical to the one in gcc 4.8.5 except
for adding 'noexcept' to mutex::native_handle (), which is not
relevant to this change.

> Jonathan: you said in your followup email that it "bootstraps and
> passes testing on x86_64-pc-linux-gnu (CentOS 8 Stream)".  This is
> possibly a silly question, but did this testing include the jit
> testsuite?  A gotcha here is that --enable-languages=all does *not*
> enable jit.

Yes, I built with --enable-languages=c,c++,jit --enable-host-shared

> The patch is OK for trunk if you have favorable answers for the above
> two questions.
>
> Thanks!
> Dave
>


Re: why does gcc jit require pthread?

2022-11-15 Thread David Malcolm via Gcc-patches
[Fixing typo in the Subject ("git" -> "jit" ); CCing jit mailing list]

On Fri, 2022-11-11 at 17:16 +, Jonathan Wakely wrote:
> On Mon, 7 Nov 2022 at 13:51, Jonathan Wakely wrote:
> > 
> > On Mon, 7 Nov 2022 at 13:33, LIU Hao wrote:
> > > 
> > > 在 2022-11-07 20:57, Jonathan Wakely 写道:
> > > > It would be a lot nicer if playback::context met the C++
> > > > Lockable
> > > > requirements, and playback::context::compile () could just take
> > > > a
> > > > scoped lock on *this:
> > > > 
> > > > 
> > > 
> > > Yeah yeah that makes a lot of sense. Would you please just commit
> > > that? I don't have write access to
> > > GCC repo, and it takes a couple of hours for me to bootstrap GCC
> > > just for this tiny change.
> > 
> > Somebody else needs to approve it first. I'll combine our patches
> > and
> > test and submit it properly for approval.
> 
> Here's a complete patch that actually builds now, although I'm seeing
> a stage 2 vs stage 3 comparison error which I don't have time to look
> into right now.

I confess that I'm not familiar with C++11's mutex and locking types,
but having read through the relevant entries on cppreference.com, the
patch looks correct to me.

Are these classes well-supported on the minimum compiler version we
support?  (Jonathan, I defer to your judgement here)

Jonathan: you said in your followup email that it "bootstraps and
passes testing on x86_64-pc-linux-gnu (CentOS 8 Stream)".  This is
possibly a silly question, but did this testing include the jit
testsuite?  A gotcha here is that --enable-languages=all does *not*
enable jit.

The patch is OK for trunk if you have favorable answers for the above
two questions.

Thanks!
Dave