1 // RUN: %clang_cc1 -triple i386-pc-elfiamcu -emit-llvm -o - %s | FileCheck %s
2
3 // CHECK: target datalayout = "e-m:e-p:32:32-i64:32-f64:32-f128:32-n8:16:32-a:0:32-S32"
4 // CHECK: target triple = "i386-pc-elfiamcu"
5
6
7 void food(double *d);
8 void fooll(long long *ll);
9 void fooull(unsigned long long *ull);
10 void foold(long double *ld);
11
12 // CHECK-LABEL: define void @testdouble()
13 // CHECK: alloca double, align 4
testdouble()14 void testdouble() {
15 double d = 2.0;
16 food(&d);
17 }
18
19 // CHECK-LABEL: define void @testlonglong()
20 // CHECK: alloca i64, align 4
testlonglong()21 void testlonglong() {
22 long long ll = 2;
23 fooll(&ll);
24 }
25
26 // CHECK-LABEL: define void @testunsignedlonglong()
27 // CHECK: alloca i64, align 4
testunsignedlonglong()28 void testunsignedlonglong() {
29 unsigned long long ull = 2;
30 fooull(&ull);
31 }
32
33 // CHECK-LABEL: define void @testlongdouble()
34 // CHECK: alloca double, align 4
testlongdouble()35 void testlongdouble() {
36 long double ld = 2.0;
37 foold(&ld);
38 }
39