Unten ein Auszug aus der LLVM https://llvm.org/docs/FAQ.html. Vielleicht kann mich wer aufklären was es damit auf sich hat?
Was denn nun?
No. C and C++ are inherently platform-dependent languages. The most obvious example of this is the preprocessor. A very common way that C code is made portable is by using the preprocessor to include platform-specific code. In practice, information about other platforms is lost after preprocessing, so the result is inherently dependent on the platform that the preprocessing was targeting.
Another example is
sizeof . It’s common for
sizeof(long) to vary between platforms. In most C front-ends,
sizeof is expanded to a constant immediately, thus hard-wiring a platform-specific detail.
Also, since many platforms define their ABIs in terms of C, and since LLVM is lower-level than C, front-ends currently must emit platform-specific IR in order to have the result conform to the platform ABI.