https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81014
--- Comment #3 from SlowRiot <rain.backnet at gmail dot com> --- On further deep contemplation, the sqrt was a red herring. The minimal testcase is just: // Crash: g++-7 -fsanitize=float-divide-by-zero -c crash_test.cpp // internal compiler error: in make_decl_rtl, at varasm.c:1311 class foo { public: foo() { long double value = 1234; value = 4321 / value; // the numbers are arbitrary, bug occurs with any values } }; foo bar;