| // RUN: %clang_cc1 -std=c++20 -triple x86_64-unknown-linux-gnu -fclangir -emit-cir %s -o - 2>&1 | FileCheck %s |
| |
| extern "C" void TopLevelC(){} |
| // CHECK: cir.func @TopLevelC() { |
| extern "C++" void TopLevelCpp(){} |
| // CHECK: cir.func @_Z11TopLevelCppv() { |
| |
| extern "C++" { |
| void ExternCppEmpty(){} |
| // CHECK: cir.func @_Z14ExternCppEmptyv() { |
| extern "C" void ExternCpp_C(){} |
| // CHECK: cir.func @ExternCpp_C() { |
| extern "C++" void ExternCpp_Cpp(){} |
| // CHECK: cir.func @_Z13ExternCpp_Cppv() { |
| |
| extern "C" { |
| void ExternCpp_CEmpty(){} |
| // CHECK: cir.func @ExternCpp_CEmpty() { |
| extern "C" void ExternCpp_C_C(){} |
| // CHECK: cir.func @ExternCpp_C_C() { |
| extern "C++" void ExternCpp_C_Cpp(){} |
| // CHECK: cir.func @_Z15ExternCpp_C_Cppv() { |
| } |
| } |
| |
| extern "C" { |
| void ExternCEmpty(){} |
| // CHECK: cir.func @ExternCEmpty() { |
| extern "C" void ExternC_C(){} |
| // CHECK: cir.func @ExternC_C() { |
| extern "C++" void ExternC_Cpp(){} |
| // CHECK: cir.func @_Z11ExternC_Cppv() { |
| extern "C++" { |
| void ExternC_CppEmpty(){} |
| // CHECK: cir.func @_Z16ExternC_CppEmptyv() { |
| extern "C" void ExternC_Cpp_C(){} |
| // CHECK: cir.func @ExternC_Cpp_C() { |
| extern "C++" void ExternC_Cpp_Cpp(){} |
| // CHECK: cir.func @_Z15ExternC_Cpp_Cppv() { |
| } |
| } |
| |