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.
