Comments by "" (@grokitall) on "C Is Not A Language Anymore" video.
-
I think llvm did not do itself any favours. Originally it used gcc as its backend to provide support for multiple triples, but later defined them in an incompatible way. Seems silly to me.
It has long been possible for compiler writers to define int64 and int32 for when it matters and let the programmer use int when it does not matter for portability. The compiler writer should then use the default sizes for the architecture, rather than just using int.
At abi implementation time, it matters, so there should not be any it depends values in any abi implementation.
Of course that case mentioned is not the only time the glibc people broke the abi.
I think it was the version 5 to 6 update, where they left the parts that worked like c the same, but broke the parts that worked like c++, but did not declare it as a major version bump, so every c program still worked, but every c++ library had to be recompiled, as did anything which used the c++ abis.
Another instance of full recompile required, and it has become obvious that the glibc authors don't care about breaking users programs.
2
-
1