Confused about modularity

In the update from 3.7.1 to 3.8.0, support for running on Windows XP and running on Windows Vista were dropped. But wasn’t LLVM supposed to be modular? Where did the module for running the C++ compiler on Windows XP go? This is a total deal breaker to me because I would like my development environment to be reproducible on legacy Windows machines, even the ones where the use of Windows 7 is too impractical as opposed to Windows XP and Vista. These machines deserve to be able to compile C++ on Windows instead of going to the landfills. The only two Windows compilers I use nowadays are Visual C++ 2005 (I don’t use 2008 and up because of 1.6GHz requirement, and the last thing I want in the landfills are powerful 1.2GHz Intel computers) and Digital Mars C++ compiler. (don’t get me started on MinGW as I am a gnuphobe for off-topic reasons so I no longer use it)

Support for Windows in general is modular in the sense that the support is mostly in a small number of places. However, support for older versions of Windows is determined mainly by (1) is it feasible to maintain testing for it, (2) what features of newer Windows versions do we want to take advantage of.

I don’t remember any details from 6 years ago but I expect that those two considerations were what led to dropping support for older Windows versions.

1 Like

But what if you only had a Windows XP or Vista PC such that installing Windows 7 is impractical (too expensive, or would overheat too much, or not enough space, etc.) and has less than 1.6GHz? How would you compile C++11 code without using GNU software then? I know that nowadays you could use AnyDesk to connect to a supported system (since overpowered computers are being produced in excess amounts anyway), however, you might not have internet access at all times.

I think it is not the responsibility of the LLVM community to support running on old operating system versions that the OS vendor no longer supports. That kind of support falls into the category of personal hobby projects. For all I know there is already such a project, but I wouldn’t know how to look for such a thing.


H-h-h-hobby projects?! You can’t be serious. That’s the exact opposite of what a compiler for practical uses is supposed to be. This mentality implicitly encourages e-waste as well. I’d rather use Visual C++ 2005 or Digital Mars, since C++03 code is more ‘correct’ than C++11 anyway.

The LLVM project runs on volunteers and support for old/unsupported versions of a OS has to be maintained by some volunteer. I am sure the community would be happy to review patches and fixes if someone steps up. If not - a fork could be created to re-instate the support.

Please try to be respectful in your posts here - it’s not a platform for rants.