https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108225
--- Comment #5 from cqwrteur <unlvsur at live dot com> --- (In reply to cqwrteur from comment #4) > (In reply to cqwrteur from comment #3) > > (In reply to cqwrteur from comment #2) > > > Created attachment 54171 [details] > > > Error message > > > > > > This is an example of how incorrectly discarding the support of old > > > systems > > > would randomly cause build issues. > > > > > > Please stop! Windows 95 support is extremely important > > > > > > libstdc++ completely ignores __GTHREAD_HAS_COND macro which cause build > > failure for gdb > > The entire win32 thread model is a mess. It does not support the thread > model well enough while causing enormous pain. If users need threading, they > can use posix and mcf. Why win32?? BTW who gives you the luxury to include<windows.h> in public header? windows.h causes enormous pain. if you need them, you should use __asm__ macro to deal with apis in windows.h instead of including them. #if defined(_MSC_VER) && !defined(__clang__) __declspec(dllimport) #elif (__has_cpp_attribute(__gnu__::__dllimport__)&&!defined(__WINE__)) [[__gnu__::__dllimport__]] #endif #if (__has_cpp_attribute(__gnu__::__stdcall__)&&!defined(__WINE__)) [[__gnu__::__stdcall__]] #endif extern void* #if (!__has_cpp_attribute(__gnu__::__stdcall__)&&!defined(__WINE__)) && defined(_MSC_VER) __stdcall #endif MapViewOfFile(void*,std::uint_least32_t,std::uint_least32_t,std::uint_least32_t,std::size_t) noexcept #if defined(__clang__) || defined(__GNUC__) #if SIZE_MAX<=UINT_LEAST32_MAX &&(defined(__x86__) || defined(_M_IX86) || defined(__i386__)) #if !defined(__clang__) __asm__("MapViewOfFile@20") #else __asm__("_MapViewOfFile@20") #endif #else __asm__("MapViewOfFile") #endif #endif ; This is how you use them. windows.h causes massive compilation speed to slow down.