| // Global variables of scalar typees with initial values |
| // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o - | FileCheck %s |
| |
| char c; |
| // CHECK: cir.global external @c = #cir.int<0> : !s8i |
| |
| signed char sc; |
| // CHECK: cir.global external @sc = #cir.int<0> : !s8i |
| |
| unsigned char uc; |
| // CHECK: cir.global external @uc = #cir.int<0> : !u8i |
| |
| short ss; |
| // CHECK: cir.global external @ss = #cir.int<0> : !s16i |
| |
| unsigned short us = 100; |
| // CHECK: cir.global external @us = #cir.int<100> : !u16i |
| |
| int si = 42; |
| // CHECK: cir.global external @si = #cir.int<42> : !s32i |
| |
| unsigned ui; |
| // CHECK: cir.global external @ui = #cir.int<0> : !u32i |
| |
| long sl; |
| // CHECK: cir.global external @sl = #cir.int<0> : !s64i |
| |
| unsigned long ul; |
| // CHECK: cir.global external @ul = #cir.int<0> : !u64i |
| |
| long long sll; |
| // CHECK: cir.global external @sll = #cir.int<0> : !s64i |
| |
| unsigned long long ull = 123456; |
| // CHECK: cir.global external @ull = #cir.int<123456> : !u64i |
| |
| __int128 s128; |
| // CHECK: cir.global external @s128 = #cir.int<0> : !s128i |
| |
| unsigned __int128 u128; |
| // CHECK: cir.global external @u128 = #cir.int<0> : !u128i |
| |
| wchar_t wc; |
| // CHECK: cir.global external @wc = #cir.int<0> : !s32i |
| |
| char8_t c8; |
| // CHECK: cir.global external @c8 = #cir.int<0> : !u8i |
| |
| char16_t c16; |
| // CHECK: cir.global external @c16 = #cir.int<0> : !u16i |
| |
| char32_t c32; |
| // CHECK: cir.global external @c32 = #cir.int<0> : !u32i |
| |
| _BitInt(20) sb20; |
| // CHECK: cir.global external @sb20 = #cir.int<0> : !cir.int<s, 20> |
| |
| unsigned _BitInt(48) ub48; |
| // CHECK: cir.global external @ub48 = #cir.int<0> : !cir.int<u, 48> |
| |
| bool boolfalse = false; |
| // CHECK: cir.global external @boolfalse = #false |
| |
| _Float16 f16; |
| // CHECK: cir.global external @f16 = #cir.fp<0.000000e+00> : !cir.f16 |
| |
| __bf16 bf16; |
| // CHECK: cir.global external @bf16 = #cir.fp<0.000000e+00> : !cir.bf16 |
| |
| float f; |
| // CHECK: cir.global external @f = #cir.fp<0.000000e+00> : !cir.float |
| |
| double d = 1.25; |
| // CHECK: cir.global external @d = #cir.fp<1.250000e+00> : !cir.double |
| |
| long double ld; |
| // CHECK: cir.global external @ld = #cir.fp<0.000000e+00> : !cir.long_double<!cir.f80> |
| |
| __float128 f128; |
| // CHECK: cir.global external @f128 = #cir.fp<0.000000e+00> : !cir.f128 |
| |
| void *vp; |
| // CHECK: cir.global external @vp = #cir.ptr<null> : !cir.ptr<!void> |
| |
| int *ip = 0; |
| // CHECK: cir.global external @ip = #cir.ptr<null> : !cir.ptr<!s32i> |
| |
| double *dp; |
| // CHECK: cir.global external @dp = #cir.ptr<null> : !cir.ptr<!cir.double> |
| |
| char **cpp; |
| // CHECK: cir.global external @cpp = #cir.ptr<null> : !cir.ptr<!cir.ptr<!s8i>> |
| |
| void (*fp)(); |
| // CHECK: cir.global external @fp = #cir.ptr<null> : !cir.ptr<!cir.func<()>> |
| |
| int (*fpii)(int) = 0; |
| // CHECK: cir.global external @fpii = #cir.ptr<null> : !cir.ptr<!cir.func<(!s32i) -> !s32i>> |
| |
| void (*fpvar)(int, ...); |
| // CHECK: cir.global external @fpvar = #cir.ptr<null> : !cir.ptr<!cir.func<(!s32i, ...)>> |