[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Installing clang alongside GCC on NetBSD 9
Jason Bacon <outpaddling%yahoo.com@localhost> writes:
> With C there are very few potential problems because the ABI is simple
> and hasn't changed much in the last 30 years.
My impression is also that the ABI is stable.
> With C++, it's complicated and I don't claim to understand all the
> issues in detail. C++ is still evolving rapidly and different major
> versions of GCC do not guarantee ABI compatibility or even API
> compatibility in all cases.
I am not a C++ expert, but my understanding is that the system and
calling convention ABI is stable but that libstdc++ is not. But all C++
programs use that.
> That said, FreeBSD ports mixes clang++ and g++ objects
> regularly. Ports that use openmp or Fortran still depend on GCC
> packages (though this may change soon) while the libraries they depend
> on are almost all built with clang. In some cases this is reversed,
> i.e. libraries are build with GCC and the dependent program with
> clang. There are potential problems with this, but it usually just
> works with the default GCC port (currently gcc9) and solutions exist
> in the ports infrastructure for other cases, such as allowing the
> maintainer to force use of libc++ or libstdc++ or control which C++
> standard is used by the compiler.
Interesting. I guess there is "usually works" and "sound", not the
> I'm not sure about Fortran, but I suspect the ABI is much simpler than
> C++ so it's less problematic mixing in object code built with
My impression is that the Fortran ABI is even more stable the C.
Main Index |
Thread Index |