| // RUN: %clang_cc1 -emit-llvm -triple loongarch64 %s -o - | FileCheck %s | |
| // CHECK: @_ZL2v1 ={{.*}} global i32 0, code_model "small" | |
| static int v1 __attribute__((model("normal"))); | |
| void use1() { | |
| v1 = 1; | |
| } | |
| // CHECK: @v2 ={{.*}} global i32 0, code_model "medium" | |
| int v2 __attribute__((model("medium"))); | |
| // CHECK: @v3 ={{.*}} global float 0.000000e+00, code_model "large" | |
| float v3 __attribute__((model("extreme"))); | |
| // CHECK: @_ZL2v4IiE ={{.*}} global i32 0, code_model "medium" | |
| template <typename T> | |
| static T v4 __attribute__((model("medium"))); | |
| void use2() { | |
| v4<int> = 1; | |
| } | |
| struct S { | |
| double d; | |
| }; | |
| // CHECK: @v5 ={{.*}} global {{.*}}, code_model "medium" | |
| S v5 __attribute__((model("medium"))); | |
| typedef void (*F)(); | |
| // CHECK: @v6 ={{.*}} global ptr null, code_model "large" | |
| F v6 __attribute__((model("extreme"))); |