Ok, issue is here: https://github.com/kripken/emscripten/issues/2273

Testcase source code is linked in the issue, and 
here: https://gist.github.com/floooh/10160514

It looks like there is a separate set of atomic functions for 1, 2, 4 and 
8-byte wide integer datatypes (the test should cover atomic<char>, 
atomic<short>, atomic<int>, atomic<long long> and atomic_flag.

Cheers,
-Floh

Am Montag, 7. April 2014 22:17:40 UTC+2 schrieb Floh:
>
> Hi,
>
> I was dabbling with C++11 a while ago and had code generation problems 
> with atomic operations (see here: 
> https://groups.google.com/forum/#!searchin/emscripten-discuss/C$2B$2B11$20atomic/emscripten-discuss/UN1moUZilrM/m_Qm1KSVGrQJ
> )
>
> The good news is that this specific problem seems to be fixed with 
> clang3.4 in the fastcomp backend, however, I'm now getting linker errors 
> where LLVM wants to call CRT functions for atomic operations:
>
> warning: unresolved symbol: __atomic_store_1
> warning: unresolved symbol: __atomic_load_4
> warning: unresolved symbol: __atomic_load_1
> warning: unresolved symbol: __atomic_fetch_sub_4
> warning: unresolved symbol: __atomic_store_4
> warning: unresolved symbol: __atomic_fetch_add_4
> warning: unresolved symbol: __atomic_compare_exchange_4
>
> I'm wondering now how to treat this type of problem onward. I'm currently 
> having ifdefs for emscripten around this code, basically treat some subset 
> of C++11 as platform-specific and have an emscripten-specific 
> implementation (which would very likely be more efficient anyway, since 
> it's just basic load/add/sub instead of calling into a function). 
>
> Is there a plan / time-line for missing C++11 stuff, and is there a list 
> somewhere what C++11 areas don't work? I assume thread (obviously), atomic, 
> and chronos?
>
> These are the only areas which I had trouble with so far btw, other C++11 
> stuff seems to work fine.
>
> Cheers,
> -Floh.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to