Boost logo

Boost Users :

Subject: Re: [Boost-users] Context and coroutine for ARM
From: d25fe0be_at_[hidden]
Date: 2017-05-13 18:52:42

> Playing around with #error's I found out ATOMIC_INT_LOCK_FREE is set to 1 so this condition isn't fulfilled. The next thing i tried out is to comment that condition. The result was:
> /cygdrive/d/Development/x-tools/arm-unknown-linux-gnueabihf/arm-unknown-linux-gnueabihf/include/c++/6.3.0/bits/nested_exception.h:43:4: error: #error This platform does not support exception propagation.
> I checked then if this example compiles on Pi. It worked. So it seems I have to rebuild my cross-compiler. Do you maybe know which option should I pay attention to, to have this option set?

According to, configure GCC with '-with-arch=armv7-a' should do the job (setting __GCC_ATOMIC_INT_LOCK_FREE / ATOMIC_INT_LOCK_FREE to 2), IIUC.

FWIW, as pointed out by frankhb1989 in that post (#11), the behavior of GCC 6.3 should be a violation of the standard.

Also, starting from GCC 7.1, ATOMIC_INT_LOCK_FREE is no longer tested for exception-related stuffs. You may give it a try as well.

ps: It seems that in GCC 6.3, 'future' is also relying on ATOMIC_INT_LOCK_FREE to be 2. This restrictions is removed in GCC 7.1 as well.

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at