• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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