Boost logo

Boost :

Subject: [boost] [thread] compiler error gcc 7.3 on cygwin
From: James E. King III (jking_at_[hidden])
Date: 2018-11-27 00:28:40


Getting an internal compiler error with gcc 7.3 but only on cygwin 64-bit.

Jim_at_pulsar /cygdrive/c/boost/libs/thread
$ ../../b2 --abbreviate-paths toolset=gcc cxxstd=11
define=_POSIX_C_SOURCE=200112L define=__USE_ISOC99 threadapi=pthread
address-model=64 variant=release -q
...
gcc.compile.c++
../../bin.v2/libs/thread/test/test_10963_c.test/gcc-7.3.0/rls/cxstd-11-iso/thrd-mlt/vsblt-hdn/test_10963_c.o
In file included from ../../boost/thread/detail/invoker.hpp:30:0,
                 from ../../boost/thread/future.hpp:31,
                 from ../../libs/thread/test/test_10963.cpp:13:
../../boost/thread/detail/invoke.hpp: In function ‘decltype
(*(forward<A0>)(boost::detail::invoke::a0).*boost::detail::invoke::f)
boost::detail::invoke(Fp&&, A0&&) [with Fp = void
(boost::executors::basic_thread_pool::*)(); A0 =
boost::executors::basic_thread_pool*]’:
../../boost/thread/detail/invoke.hpp:102:43: internal compiler error:
in gimplify_expr, at gimplify.c:12006
         return (*boost::forward<A0>(a0)).*f;
                                           ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.

    "g++" -std=c++11 -fvisibility-inlines-hidden -m64 -mthreads -O3
-finline-functions -Wno-inline -Wall -pedantic -fvisibility=hidden
-Wextra -Wno-long-long -Wno-unused-parameter -Wunused-function
-pedantic -DBOOST_ALL_NO_LIB=1
-DBOOST_THREAD_THROW_IF_PRECONDITION_NOT_SATISFIED -DNDEBUG
-D_POSIX_C_SOURCE=200112L -D__USE_ISOC99 -I"../.." -c -o
"../../bin.v2/libs/thread/test/test_10963_c.test/gcc-7.3.0/rls/cxstd-11-iso/thrd-mlt/vsblt-hdn/test_10963_c.o"
"../../libs/thread/test/test_10963.cpp"

...failed gcc.compile.c++
../../bin.v2/libs/thread/test/test_10963_c.test/gcc-7.3.0/rls/cxstd-11-iso/thrd-mlt/vsblt-hdn/test_10963_c.o...

If I change the C++ language level to 03 the problem goes away. I
also cannot reproduce it on linux with the same version of compiler
(but it probably isn't the exact same compiler code). Should I go
ahead and file that gcc bug?

- Jim


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk