https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81420
--- Comment #1 from Ed Catmur <ed at catmur dot co.uk> --- icc 18 also has this bug. MSVC 19 2017 (with /permissive-) miscompiles by copying the bound subobject to a separate complete object before binding, so the reference does not dangle but the derived and base class objects are still destructed prematurely.