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

--- Comment #15 from Edgar Fournival <cont...@edgar-fournival.fr> ---
(In reply to Xi Ruoyao from comment #14)
> Although I don't understand all the code in the Github repo, but GCC 6 indeed
> moved the temporary construction (initialization) and destruction code to the
> parent, and violated cilkplus spec.  So it's very sure this is a regression
> of GCC.

Sorry for this, I should have been more specific. The code we have that uses
Cilk is located in treewalk.cpp:49:
https://github.com/hivert/NumericMonoid/blob/master/src/Cilk%2B%2B/treewalk.cpp#L49
We fixed it with this:
https://github.com/hivert/NumericMonoid/pull/3/commits/bf8898dce0276b8568e867b6ff255a1c9a0fa434

Unfortunately, this is the only thing we have that demonstrates the bug *and*
compiles under GCC 5. A shorter and simpler example would be really helpful but
I have no clue how to workaround the ICE.

Xi Ruoyao, do you know which commit would be involved? If not, what are the
typical process used to find out the modification which introduced the bug?
Bisection?

Reply via email to