|  | // RUN: %clang_cc1 -fno-builtin -emit-llvm -o - %s -triple i386-unknown-unknown | FileCheck -check-prefix CHECK-YES %s | 
|  | // RUN: %clang_cc1 -fno-builtin-crealf -fno-builtin-creal -fno-builtin-creall \ | 
|  | // RUN:  -fno-builtin-cimagf  -fno-builtin-cimag -fno-builtin-cimagl -emit-llvm \ | 
|  | // RUN:  -o - %s -triple i386-unknown-unknown | FileCheck -check-prefix CHECK-YES %s | 
|  | // RUN: %clang_cc1 -emit-llvm -o - %s -triple i386-unknown-unknown | FileCheck -check-prefix CHECK-NO %s | 
|  |  | 
|  | extern float crealf(float _Complex); | 
|  | extern double creal(double _Complex); | 
|  | extern long double creall(long double _Complex); | 
|  |  | 
|  | extern float cimagf(float _Complex); | 
|  | extern double cimag(double _Complex); | 
|  | extern long double cimagl(long double _Complex); | 
|  |  | 
|  | double test_creal(double _Complex z) { | 
|  | return creal(z); | 
|  | // CHECK-NO-NOT: call double @creal | 
|  | // CHECK-YES: call double @creal | 
|  | } | 
|  |  | 
|  | long double test_creall(double _Complex z) { | 
|  | return creall(z); | 
|  | // CHECK-NO-NOT: call x86_fp80 @creall | 
|  | // CHECK-YES: call x86_fp80 @creall | 
|  | } | 
|  |  | 
|  | float test_crealf(double _Complex z) { | 
|  | return crealf(z); | 
|  | // CHECK-NO-NOT: call float @crealf | 
|  | // CHECK-YES: call float @crealf | 
|  | } | 
|  |  | 
|  | double test_cimag(double _Complex z) { | 
|  | return cimag(z); | 
|  | // CHECK-NO-NOT: call double @cimag | 
|  | // CHECK-YES: call double @cimag | 
|  | } | 
|  |  | 
|  | long double test_cimagl(double _Complex z) { | 
|  | return cimagl(z); | 
|  | // CHECK-NO-NOT: call x86_fp80 @cimagl | 
|  | // CHECK-YES: call x86_fp80 @cimagl | 
|  | } | 
|  |  | 
|  | float test_cimagf(double _Complex z) { | 
|  | return cimagf(z); | 
|  | // CHECK-NO-NOT: call float @cimagf | 
|  | // CHECK-YES: call float @cimagf | 
|  | } |