https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99576

--- Comment #10 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Adrian Perl from comment #9)
> Thanks for the advice.
> 
> I hope you meant __builtin_trap() as I can't find a __builtin_abort()
> function.

hmm .. I meant __builtin_abort () ... it is widely used in the testsuite for
the reasons mentioned (try grepping for it in gcc/testsuite/gcc.dg to see some
examples).

> I have now written test applications for all relevant bug reports (99576,
> 100611, 101976, 101367). 

great!

> I also verified that it fixes 107288, but did not add a test as it requires 
> boost asio.

The way to deal with cases like that is to take the .ii file (so that the
dependencies on external headers are removed) and then reduce it to something
usable as a test.  Such reductions vary in difficulty (using tools like c-vise
or creduce can help, sometimes it's possible to do it manually too).  [I'm not
asking you to do this right now, but mentioning that this is the approach used
in such cases].

> Unfortunately I was wrong that the patch will fix 102217 and 101244. They
> use similar examples but also the ternary operator, which still leads to an
> invalid statement error when used in co_awaits.

Yes, this is a different problem for which I have some work in progress, but
not ready for publication just yet.

> I will send the patch together with the testfiles as soon as the testsuite
> has finished. Is it normal that it takes more than 6 hours to complete?

depends on your hardware .. my fastest box takes about 2 hours, my slowest
nearly a week :) .. so long as you are using "-jN" on the make line where N ≈
the number of threads your hardware will accommodate, that's about the best you
can do.

If you plan on working more with GCC there is also the option to get an account
on the "compile farm" which gives you access to more platform versions and some
quite powerful hardware.

Reply via email to