xref: /aosp_15_r20/external/clang/test/CodeGen/ms-declspecs.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -triple i386-pc-win32 %s -emit-llvm -fms-compatibility -o - | FileCheck %s
2*67e74705SXin Li 
3*67e74705SXin Li // selectany turns extern "C" variable declarations into definitions.
4*67e74705SXin Li extern __declspec(selectany) int x1;
5*67e74705SXin Li extern "C" __declspec(selectany) int x2;
6*67e74705SXin Li extern "C++" __declspec(selectany) int x3;
7*67e74705SXin Li extern "C" {
8*67e74705SXin Li __declspec(selectany) int x4;
9*67e74705SXin Li }
10*67e74705SXin Li __declspec(selectany) int x5;
11*67e74705SXin Li // CHECK: @"\01?x1@@3HA" = weak_odr global i32 0, comdat, align 4
12*67e74705SXin Li // CHECK: @x2 = weak_odr global i32 0, comdat, align 4
13*67e74705SXin Li // CHECK: @"\01?x3@@3HA"  = weak_odr global i32 0, comdat, align 4
14*67e74705SXin Li // CHECK: @x4 = weak_odr global i32 0, comdat, align 4
15*67e74705SXin Li // CHECK: @"\01?x5@@3HA"  = weak_odr global i32 0, comdat, align 4
16