43 lines · cpp
1// RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o - 2>&1 | FileCheck %s2 3extern "C" void TopLevelC(){}4// CHECK: cir.func dso_local @TopLevelC() inline(never) {5extern "C++" void TopLevelCpp(){}6// CHECK: cir.func dso_local @_Z11TopLevelCppv() inline(never) {7 8extern "C++" {9 void ExternCppEmpty(){}10 // CHECK: cir.func dso_local @_Z14ExternCppEmptyv() inline(never) {11 extern "C" void ExternCpp_C(){}12 // CHECK: cir.func dso_local @ExternCpp_C() inline(never) {13 extern "C++" void ExternCpp_Cpp(){}14 // CHECK: cir.func dso_local @_Z13ExternCpp_Cppv() inline(never) {15 16 extern "C" {17 void ExternCpp_CEmpty(){}18 // CHECK: cir.func dso_local @ExternCpp_CEmpty() inline(never) {19 extern "C" void ExternCpp_C_C(){}20 // CHECK: cir.func dso_local @ExternCpp_C_C() inline(never) {21 extern "C++" void ExternCpp_C_Cpp(){}22 // CHECK: cir.func dso_local @_Z15ExternCpp_C_Cppv() inline(never) {23 }24}25 26extern "C" {27 void ExternCEmpty(){}28 // CHECK: cir.func dso_local @ExternCEmpty() inline(never) {29 extern "C" void ExternC_C(){}30 // CHECK: cir.func dso_local @ExternC_C() inline(never) {31 extern "C++" void ExternC_Cpp(){}32 // CHECK: cir.func dso_local @_Z11ExternC_Cppv() inline(never) {33 extern "C++" {34 void ExternC_CppEmpty(){}35 // CHECK: cir.func dso_local @_Z16ExternC_CppEmptyv() inline(never) {36 extern "C" void ExternC_Cpp_C(){}37 // CHECK: cir.func dso_local @ExternC_Cpp_C() inline(never) {38 extern "C++" void ExternC_Cpp_Cpp(){}39 // CHECK: cir.func dso_local @_Z15ExternC_Cpp_Cppv() inline(never) {40 }41}42 43