It is endemic in C++ code for STL headers to be forgotten but everything worked because some other header included the one needed. As described in the link you provided, GCC has simply removed some of those situations, now they fail without explicit inclusion. IIRC there is an alpha standard tool based on the internals of clang and LLVM to analyse and find what headers are needed to cover all the STL calls made by any file, but well, its alpha and several projects (eg chromium) have abandoned it for now.
So the header rearrangement will result in missing declarations, so stuff will fail to compile, not excess declarations that are not in the system library (except when the C library is used instead of the C++ one, the main problem here ;-). And so even if msys2 upgraded its gcc it still doesn't explain why in the past it linked ok, how did it previously define those C++ library internal symbols if it linked against the C library? And why does it work on Linux. Anyway its an intellectual exercise since @techee has removed the foreign parasitic not part of Geany tool build from the Windows build. And now we know, so when it fails on Linux we can jump in and point fingers immediately ;-) -- Reply to this email directly or view it on GitHub: https://github.com/geany/geany-plugins/issues/1255#issuecomment-1617525886 You are receiving this because you are subscribed to this thread. Message ID: <geany/geany-plugins/issues/1255/[email protected]>
