← Back to context

Comment by dagmx

2 years ago

Part of the issue is that LLVM is stuck between two very hard places.

1. Needing to support tons of different platforms with various different documented and undocumented behaviours

2. Needing to support many languages with specifically undefined behaviour.

Trying to bridge the undefined nature of the two sides means that things can be fragile. Assumptions that worked for one set of undefined problems may not work for another.

But so much depends on LLVM these days that I can’t think of it as anything but a success. A flawed success but one that is doing its best to bring order to a naturally chaotic problem space.

GCC and MSVC have similar problems because it’s inherent to the problem space. So while it’s frustrating hitting those bugs, everyone in the space knows they aren’t fundamental issues with the project itself.