On 10/8/2016 3:09 AM, Adrien Nader wrote: > Yet, it would also be useful to know which compilers are used or we > are bound to repeatedly break them. Please, report in this thread if > you use something else than GCC or Clang.
Seems like such an obvious question, doesn't it? But I've struggled (repeatedly) to get an "official" answer to this. The consensus (from worker bees, not project admins) seems to be that (probably) only clang and gcc will work (tho maybe ICC). Also, KTietz once said that we need at least v4 of gcc (I'm not sure which of the v4 features we depend on). IMO, if we don't have someone on the dev team who is doing "regular" builds with a particular compiler (say at least once a month), then we don't really support it. Like you said, it's just too easy to break something and never know it. We already know of one popular C compiler for Windows that doesn't work: MSVC. MSVC doesn't allow inline asm in x64, and mingw-w64 uses it all over the place. If we aren't even going to support that, how much time should we spend coding for hypothetical "other" compilers? You talked about adding autoconf checks to the build. Yes, this could be done. There are dozens of builtins that would need to be recreated as c code, and hundreds of places that use these builtins that would need to be re-tested. Re-doing them all would be a "non-trivial" project. All of which would be a huge waste of time if the reality is that we only support gcc and clang. It seems like the better/faster/more complete fix would be just to add 3 lines to the docs something like this: The current versions of mingw-w64 are only tested/supported on these platforms: - gcc v?.? and higher - clang v?.? and higher Even better would be to add a __MINGW_GNUC_PREREQ to _mingw.h. If someone *is* using another compiler (or a really old one), this would help us find that out better than posting a message to the list and hoping to hear back from everyone. For each mingw-w64 release, we can re-evaluate the minimum version number. For the current mingw-w64 trunk (v5?), I could see this being set to 5.3. That's (currently) gcc's oldest "Supported Release" (per https://gcc.gnu.org/). Anyway, that's my take. But I'm just a noisy newcomer. Someone who knows both the history and the common uses of mingw-w64 is likely to have a different take on all this. dw ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public