News for hackers. Stuff that matters.
Re:The C++ Lifetime Profile: How It Plans to Make C++ Code S... by jcranmer on Friday January 24, 2020 @12:03PM (#22140110)
In practice, there is a stable and standard ABI in C++. On Windows systems, you use the (undocumented, but mostly reverse-engineered) MSVC ABI. On everybody else, you use the confusingly-named Itanium ABI, except for exception handling on ARM, which uses a slightly different ABI.

Standard library implementations do not necessarily share the same ABI, but it is possible to interoperate between libc++ and libstdc++, and libstdc++ maintains ABI compatibility across different versions.

And, to be pedantic, C does not provide a stable, standard ABI. It is the platforms themselves that provide this ABI standard, and these platforms equally provide a C++ ABI standard. So C++ ABI compatibility is no more or less a problem than C ABI compatibility.

Re:The C++ Lifetime Profile: How It Plans to Make C++ Code S... by paulddraper on Friday January 24, 2020 @02:45PM (#22141762)
The legitimate difference between C and C++ ABIs is that the C ABI is easier to understand and reason about.

It's analogous to Java and Scala; each has an ABI, but it's easier to tell when the former breaks ABI than the latter.

Re:The C++ Lifetime Profile: How It Plans to Make C++ Code S... by likeliv on Friday January 24, 2020 @05:49PM (#22143139)
That's right. C being more limited, it has a more simplistic ABI. But the parent comment was replying the "need for a stable, standard ABI, which C provide". Which is misleading as both C++ and C have the same level of stability and standardisation of their ABI. (I.e: none of them is standardized, but both of them are stable on practice)
Re:The C++ Lifetime Profile: How It Plans to Make C++ Code S... by paulddraper on Friday January 24, 2020 @06:22PM (#22143325)
Yep, you're right.

There is a difference, but the difference is in complexity, not availability.

Re:The C++ Lifetime Profile: How It Plans to Make C++ Code S... by pjmlp on Friday January 24, 2020 @01:26PM (#22141029)
Just a small correction macOS derived platforms do it a bit differently as well.