https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94590
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- This is because in check_narrowing we have: 1011 else if (TREE_CODE (ftype) == REAL_TYPE 1012 && TREE_CODE (type) == REAL_TYPE) 1013 { 1014 if (TYPE_PRECISION (type) < TYPE_PRECISION (ftype)) ... 1027 ok = false; but with -mlong-double-64 both type and ftype's precision is 64.