[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#727621: g++/armel: std::future and std::exception_ptr are missing



On Sun, 2013-12-01 at 18:24 +0200, Eugene V. Lyubimkin wrote:
> 2013-11-16 15:05, Eugene V. Lyubimkin:
> > For some reason, on armel architecture exclusively [1], g++ has problems
> > compiling seemingly any program which uses std::future [2].
> 
> std::future is actually defined in libstdc++'s headers only if:
> 
> "#if defined(_GLIBCXX_HAS_GTHREADS) &&
> defined(_GLIBCXX_USE_C99_STDINT_TR1) && (ATOMIC_INT_LOCK_FREE > 1)"
> 
> On armel porterbox, ATOMIC_INT_LOCK_FREE == 1, which according to the
> libstdc++ documentation means that, unlike every other Debian
> architecture, operations on atomic ints are not guaranteed to be
> lock-free there.
> 
> I don't know is this a shortcoming in libstdc++
> configuration/implementation or armel doesn't provide atomic
> incrementing/decrementing facilities.

General atomic operations aren't available until version 6 of the ARM
architecture, armel also supports version 5 which only has an atomic
swap instruction; so I would guess libstdc++ is configured correctly.
armhf targets ARM architecture version 7.

-- 
Tixy


Reply to: