https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96600

--- Comment #2 from Matthias Kretz (Vir) <kretz at kde dot org> ---
The runtime modf actually returns a large number. This is not about precision
but about completely bogus values. You can adjust the testcase to:

int e = 69;                                                                     
int main() {                                                                    
  long double a = -__builtin_ldexpl(
   
1.9446689187403240306919491832695730985733566864714824565497322973045558e+00l,
    e);                                                                         
  long double tmp;                                                              
  long double aa = __builtin_modfl(a, &tmp);                                    
  if (aa >= 1) {                                                                
    __builtin_abort();                                                          
  }                                                                             
}

Reply via email to