about summary refs log tree commit diff homepage
path: root/test/Feature/LongDoubleSupport.c
blob: b463183212a83ecb52b27dc5fe122ecfd178dfb3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc
// RUN: %klee --exit-on-error %t1.bc > %t2.out

#include <stdio.h>
#include <float.h>

// FIXME: This doesn't really work at all, it just doesn't
// crash. Until we have wide constant support, that is all we care
// about; the only reason this comes up is in initialization of
// constants, we don't actually end up seeing much code which uses long
// double.
int main() {
  long double a = LDBL_MAX;
  long double b = -1;
  long double c = a + b;
  printf("a = %Lg\n", a);
  printf("b = %Lg\n", b);
  printf("c = %Lg\n", c);
  return 0;
}