xref: /llvm-project/clang/test/CIR/global-var-simple.cpp (revision 8e329593313bb792592529ee825a52683108df99)
1a43b2e13SDavid Olsen // Global variables of intergal types
2a43b2e13SDavid Olsen // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o -  | FileCheck %s
3a43b2e13SDavid Olsen 
4a43b2e13SDavid Olsen char c;
5a43b2e13SDavid Olsen // CHECK: cir.global @c : !cir.int<s, 8>
6a43b2e13SDavid Olsen 
7a43b2e13SDavid Olsen signed char sc;
8a43b2e13SDavid Olsen // CHECK: cir.global @sc : !cir.int<s, 8>
9a43b2e13SDavid Olsen 
10a43b2e13SDavid Olsen unsigned char uc;
11a43b2e13SDavid Olsen // CHECK: cir.global @uc : !cir.int<u, 8>
12a43b2e13SDavid Olsen 
13a43b2e13SDavid Olsen short ss;
14a43b2e13SDavid Olsen // CHECK: cir.global @ss : !cir.int<s, 16>
15a43b2e13SDavid Olsen 
16*8e329593SDavid Olsen unsigned short us = 100;
17*8e329593SDavid Olsen // CHECK: cir.global @us = #cir.int<100> : !cir.int<u, 16>
18a43b2e13SDavid Olsen 
19*8e329593SDavid Olsen int si = 42;
20*8e329593SDavid Olsen // CHECK: cir.global @si = #cir.int<42> : !cir.int<s, 32>
21a43b2e13SDavid Olsen 
22a43b2e13SDavid Olsen unsigned ui;
23a43b2e13SDavid Olsen // CHECK: cir.global @ui : !cir.int<u, 32>
24a43b2e13SDavid Olsen 
25a43b2e13SDavid Olsen long sl;
26a43b2e13SDavid Olsen // CHECK: cir.global @sl : !cir.int<s, 64>
27a43b2e13SDavid Olsen 
28a43b2e13SDavid Olsen unsigned long ul;
29a43b2e13SDavid Olsen // CHECK: cir.global @ul : !cir.int<u, 64>
30a43b2e13SDavid Olsen 
31a43b2e13SDavid Olsen long long sll;
32a43b2e13SDavid Olsen // CHECK: cir.global @sll : !cir.int<s, 64>
33a43b2e13SDavid Olsen 
34*8e329593SDavid Olsen unsigned long long ull = 123456;
35*8e329593SDavid Olsen // CHECK: cir.global @ull = #cir.int<123456> : !cir.int<u, 64>
36a43b2e13SDavid Olsen 
37a43b2e13SDavid Olsen __int128 s128;
38a43b2e13SDavid Olsen // CHECK: cir.global @s128 : !cir.int<s, 128>
39a43b2e13SDavid Olsen 
40a43b2e13SDavid Olsen unsigned __int128 u128;
41a43b2e13SDavid Olsen // CHECK: cir.global @u128 : !cir.int<u, 128>
42a43b2e13SDavid Olsen 
43a43b2e13SDavid Olsen wchar_t wc;
44a43b2e13SDavid Olsen // CHECK: cir.global @wc : !cir.int<s, 32>
45a43b2e13SDavid Olsen 
46a43b2e13SDavid Olsen char8_t c8;
47a43b2e13SDavid Olsen // CHECK: cir.global @c8 : !cir.int<u, 8>
48a43b2e13SDavid Olsen 
49a43b2e13SDavid Olsen char16_t c16;
50a43b2e13SDavid Olsen // CHECK: cir.global @c16 : !cir.int<u, 16>
51a43b2e13SDavid Olsen 
52a43b2e13SDavid Olsen char32_t c32;
53a43b2e13SDavid Olsen // CHECK: cir.global @c32 : !cir.int<u, 32>
54a43b2e13SDavid Olsen 
55a43b2e13SDavid Olsen _BitInt(20) sb20;
56a43b2e13SDavid Olsen // CHECK: cir.global @sb20 : !cir.int<s, 20>
57a43b2e13SDavid Olsen 
58a43b2e13SDavid Olsen unsigned _BitInt(48) ub48;
59a43b2e13SDavid Olsen // CHECK: cir.global @ub48 : !cir.int<u, 48>
608ae8a905SDavid Olsen 
618ae8a905SDavid Olsen _Float16 f16;
628ae8a905SDavid Olsen // CHECK: cir.global @f16 : !cir.f16
638ae8a905SDavid Olsen 
648ae8a905SDavid Olsen __bf16 bf16;
658ae8a905SDavid Olsen // CHECK: cir.global @bf16 : !cir.bf16
668ae8a905SDavid Olsen 
678ae8a905SDavid Olsen float f;
688ae8a905SDavid Olsen // CHECK: cir.global @f : !cir.float
698ae8a905SDavid Olsen 
70*8e329593SDavid Olsen double d = 1.25;
71*8e329593SDavid Olsen // CHECK: cir.global @d = #cir.fp<1.250000e+00> : !cir.double
728ae8a905SDavid Olsen 
738ae8a905SDavid Olsen long double ld;
748ae8a905SDavid Olsen // CHECK: cir.global @ld : !cir.long_double<!cir.f80>
758ae8a905SDavid Olsen 
768ae8a905SDavid Olsen __float128 f128;
778ae8a905SDavid Olsen // CHECK: cir.global @f128 : !cir.f128
788ae8a905SDavid Olsen 
798ae8a905SDavid Olsen void *vp;
808ae8a905SDavid Olsen // CHECK: cir.global @vp : !cir.ptr<!cir.void>
818ae8a905SDavid Olsen 
82*8e329593SDavid Olsen int *ip = 0;
83*8e329593SDavid Olsen // CHECK: cir.global @ip = #cir.ptr<null> : !cir.ptr<!cir.int<s, 32>>
848ae8a905SDavid Olsen 
858ae8a905SDavid Olsen double *dp;
868ae8a905SDavid Olsen // CHECK: cir.global @dp : !cir.ptr<!cir.double>
878ae8a905SDavid Olsen 
888ae8a905SDavid Olsen char **cpp;
898ae8a905SDavid Olsen // CHECK: cir.global @cpp : !cir.ptr<!cir.ptr<!cir.int<s, 8>>>
908ae8a905SDavid Olsen 
918ae8a905SDavid Olsen void (*fp)();
928ae8a905SDavid Olsen // CHECK: cir.global @fp : !cir.ptr<!cir.func<!cir.void ()>>
938ae8a905SDavid Olsen 
94*8e329593SDavid Olsen int (*fpii)(int) = 0;
95*8e329593SDavid Olsen // CHECK: cir.global @fpii = #cir.ptr<null> : !cir.ptr<!cir.func<!cir.int<s, 32> (!cir.int<s, 32>)>>
968ae8a905SDavid Olsen 
978ae8a905SDavid Olsen void (*fpvar)(int, ...);
988ae8a905SDavid Olsen // CHECK: cir.global @fpvar : !cir.ptr<!cir.func<!cir.void (!cir.int<s, 32>, ...)>>
99