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