https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63287
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- I tried to implement this by adding a macro definition to c_cpp_builtins in gcc/c-family/c-cppbuiltin.c but failed. I think we want to inspect the 'thread_model' global variable and see if it is "single", but that might only be available to the driver, not cc1plus. Maybe the driver needs to check THREAD_MODEL_SPEC and thread_model and then pass -D__STDCPP_THREADS__=1 to cc1plus when strcmp(thread_model, "single"). For now, I think we can define it in libstdc++'s <bits/c++config.h> based on the value of the _GLIBCXX_HAS_GTHREADS macro.