| // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o %t.cir |
| // RUN: FileCheck --check-prefix=CIR --input-file=%t.cir %s |
| // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-llvm %s -o %t-cir.ll |
| // RUN: FileCheck --check-prefix=LLVM --input-file=%t-cir.ll %s |
| // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -emit-llvm %s -o %t.ll |
| // RUN: FileCheck --check-prefix=LLVM --input-file=%t.ll %s |
| |
| export module Foo; |
| |
| export void exportedFunc() {} |
| // CIR-DAG: cir.func no_inline dso_local @_ZW3Foo12exportedFuncv |
| // LLVM-DAG: define dso_local void @_ZW3Foo12exportedFuncv |
| |
| export { |
| void exportedFunc2() {} |
| int exportedVar = 42; |
| } |
| // CIR-DAG: cir.func no_inline dso_local @_ZW3Foo13exportedFunc2v |
| // LLVM-DAG: define dso_local void @_ZW3Foo13exportedFunc2v |
| |
| // CIR-DAG: cir.global external @_ZW3Foo11exportedVar = #cir.int<42> : !s32i |
| // LLVM-DAG: @_ZW3Foo11exportedVar = global i32 42 |
| |
| // Not exported, but still has mangling/linkage. |
| void internalFunc() {} |
| // CIR-DAG: cir.func no_inline dso_local @_ZW3Foo12internalFuncv |
| // LLVM-DAG: define dso_local void @_ZW3Foo12internalFuncv |