http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58822
--- Comment #18 from Michi Henning <michi at triodia dot com> --- Hmmm... That might be difficult because, as soon as I don't use make_shared, the problem goes away. (With the virtual inheritance in place but a call to shared_ptr<T>(args), as in the commented-out line in UnityExceptions.h, the segfault disappears. It also disappears if make_shared is left in place, but the virtual inheritance is changed to non-virtual inheritance. So, this appears to be some interaction between make_shared and virtual inheritance. I think the test case is close to minimal already.