https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105235
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This has nothing to do with the sanitizers.
// PR tree-optimization/105235
// { dg-do compile }
// { dg-options "-O -fno-tree-dominator-opts -fexceptions -fnon-call-exceptions
-fno-tree-fre" }
struct S { ~S (); };
double
foo (double d)
{
S s;
return __builtin_ilogbl (d) + __builtin_sinl (d);
}
or
// PR tree-optimization/105235
// { dg-do compile }
// { dg-options "-O -fno-tree-dominator-opts -fexceptions -fnon-call-exceptions
-fno-tree-fre" }
struct T { ~T (); };
int i, j;
void
bar (double d)
{
T t;
i = __builtin_ilogbl (d);
j = __builtin_sinl (d);
}
ICE the same way.