Home | History | Annotate | Download | only in CodeGen
      1 // RUN: %clang_cc1 -fno-builtin -emit-llvm -o - %s -triple i386-unknown-unknown | FileCheck -check-prefix CHECK-YES %s
      2 // RUN: %clang_cc1 -emit-llvm -o - %s -triple i386-unknown-unknown | FileCheck -check-prefix CHECK-NO %s
      3 
      4 extern float crealf(float _Complex);
      5 extern double creal(double _Complex);
      6 extern long double creall(long double _Complex);
      7 
      8 extern float cimagf(float _Complex);
      9 extern double cimag(double _Complex);
     10 extern long double cimagl(long double _Complex);
     11 
     12 double test_creal(double _Complex z) {
     13   return creal(z);
     14   // CHECK-NO-NOT: call double @creal
     15   // CHECK-YES: call double @creal
     16 }
     17 
     18 long double test_creall(double _Complex z) {
     19   return creall(z);
     20   // CHECK-NO-NOT: call x86_fp80 @creall
     21   // CHECK-YES: call x86_fp80 @creall
     22 }
     23 
     24 float test_crealf(double _Complex z) {
     25   return crealf(z);
     26   // CHECK-NO-NOT: call float @crealf
     27   // CHECK-YES: call float @crealf
     28 }
     29 
     30 double test_cimag(double _Complex z) {
     31   return cimag(z);
     32   // CHECK-NO-NOT: call double @cimag
     33   // CHECK-YES: call double @cimag
     34 }
     35 
     36 long double test_cimagl(double _Complex z) {
     37   return cimagl(z);
     38   // CHECK-NO-NOT: call x86_fp80 @cimagl
     39   // CHECK-YES: call x86_fp80 @cimagl
     40 }
     41 
     42 float test_cimagf(double _Complex z) {
     43   return cimagf(z);
     44   // CHECK-NO-NOT: call float @cimagf
     45   // CHECK-YES: call float @cimagf
     46 }
     47