xref: /llvm-project/clang/test/CodeGen/unique-internal-linkage-names.c (revision c5de4dd1eab00df76c1a68c5f397304ceacb71f2)
1 // RUN: %clang_cc1 %s -emit-llvm -funique-internal-linkage-names -o - | FileCheck %s
2 
3 // Check that we do not crash when overloading extern functions.
4 
overloaded_external()5 inline void overloaded_external() {}
6 extern void overloaded_external();
7 
8 // CHECK: define internal void @overloaded_internal() [[ATTR:#[0-9]+]] {
overloaded_internal()9 static void overloaded_internal() {}
10 extern void overloaded_internal();
11 
markUsed()12 void markUsed() {
13   overloaded_external();
14   overloaded_internal();
15 }
16 
17 // CHECK: attributes [[ATTR]] =
18 // CHECK-SAME: "sample-profile-suffix-elision-policy"="selected"
19