Am 05.08.2016 um 17:07 schrieb Guillaume Munch <g...@lyx.org>: > > Le 05/08/2016 à 08:39, Stephan Witt a écrit : >> Am 04.08.2016 um 14:55 schrieb Guillaume Munch <g...@lyx.org>: >>> >>> Le 04/08/2016 à 08:48, Stephan Witt a écrit : >>>> >>>> On my Mac with clang I cannot compile after this commit :( >>>> >>>> src/frontends/qt4/GuiFontLoader.cpp:380:2: error: thread-local storage is >>>> not supported for the current target >>>> thread_local vector<bool> cache_set(NUM_FAMILIES, false); >>>> src/frontends/qt4/GuiFontLoader.cpp:381:2: error: thread-local storage is >>>> not supported for the current target >>>> thread_local vector<bool> cache(NUM_FAMILIES, false); >>>> >>>> http://stackoverflow.com/questions/28094794/why-does-apple-clang-disallow-c11-thread-local-when-official-clang-supports >>>> tries to explain why. >>>> >>> >>> Thanks for the pointer. I reverted the patch. It looks to me that it is >>> not possible to use thread_local unless the support for Xcode < 8 is >>> dropped. For now one has to do without it. >> > > But, this is very unfortunate. Do you have an idea of a time frame when > it will become reasonable to require Xcode >= 8 ? I am not familiar with > the Apple environment, but I expect months if not years.
Sorry for the late reply. I was on vacation at the time of your message and overlooked it. I’m not sure if it is enough to have Xcode 8.x at compile time. Isn’t it a matter of having the matching runtime environment too? If the OS-provided runtime libraries don’t support thread_local where should the implementation come from? The current Mac OS X release 10.11.x libraries don’t have it, IMHO. A LyX binary with thread_local wouldn’t run on it then. I fear you have to live with this non-support for years :( At least the code using thread_local should be guarded by a configure check and use an alternate implementation for platforms without proper thread_local support. Perhaps it’s too pessimistic and the Apple engineers present a solution for this problem. I don’t know. Xcode 8 is beta now. I can download it and test - but not now. Stephan