1*a6728382SDmitry Vyukov // RUN: %clangxx -O2 %s -o %t && %run %t 2>&1 | FileCheck %s 2*a6728382SDmitry Vyukov 3*a6728382SDmitry Vyukov #include <math.h> 4*a6728382SDmitry Vyukov #include <stdio.h> 5*a6728382SDmitry Vyukov #include <stdlib.h> 6*a6728382SDmitry Vyukov main()7*a6728382SDmitry Vyukovint main() { 8*a6728382SDmitry Vyukov for (int i = 0; i < 10000; i++) { 9*a6728382SDmitry Vyukov volatile double x = 10; 10*a6728382SDmitry Vyukov int exp = 0; 11*a6728382SDmitry Vyukov double y = frexp(x, &exp); 12*a6728382SDmitry Vyukov if (y != 0.625 || exp != 4) { 13*a6728382SDmitry Vyukov printf("i=%d y=%lf exp=%d\n", i, y, exp); 14*a6728382SDmitry Vyukov exit(1); 15*a6728382SDmitry Vyukov } 16*a6728382SDmitry Vyukov } 17*a6728382SDmitry Vyukov fprintf(stderr, "DONE\n"); 18*a6728382SDmitry Vyukov // CHECK: DONE 19*a6728382SDmitry Vyukov return 0; 20*a6728382SDmitry Vyukov } 21