> which parts of libstdc++ can you safely use without exceptions?
Almost all of it, as long as you're happy to abort on memory allocation failure - which, according to the article, libvirt is now willing to do.
In fact for me, that's one of the main questions to ask when deciding between C and C++ for a project. Is it OK to abort on allocation failure? If so, use C++ (without using exceptions). If not, use C.
If you write C-style C++, which parts of libstdc++ can you safely use without exceptions?