https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116961
Iain Buclaw <ibuclaw at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ibuclaw at gcc dot gnu.org --- Comment #2 from Iain Buclaw <ibuclaw at gcc dot gnu.org> --- (In reply to Sam James from comment #0) > When bootstrapping with some patches for improving Valgrind support (see > PR116947), I hit this: > > ==26778== Conditional jump or move depends on uninitialised value(s) > ==26778== at 0x911F41: dmd.dstruct._isZeroInit(dmd.expression.Expression) > (dstruct.d:635) If this line number is correct against current mainline, the trigger is exp.toReal() is CTFloat.zero Which would be a memcmp between two struct longdouble - a thin wrap around gcc REAL_VALUE_TYPE types. > ==26778== Uninitialised value was created by a stack allocation > ==26778== at 0x9FE860: dmd.lexer.Lexer.number(dmd.tokens.Token*) > (lexer.d:2215) This however does not make much sense in the context of the trace.