mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 14:31:03 +01:00
Assert that the llvm::Function is created with the same name as requested (#4306)
This will catch some cases of bugs in the name mangling logic - if within a single file we incorrectly mangle two distinct entities to the same name, llvm::Function will assign a new name to the second copy showing one of the two entities should have a distinct name/is missing something in their mangling.
This commit is contained in:
@@ -249,6 +249,9 @@ auto FileContext::BuildFunctionDecl(SemIR::FunctionId function_id)
|
||||
llvm::Function::Create(function_type, llvm::Function::ExternalLinkage,
|
||||
mangled_name, llvm_module());
|
||||
|
||||
CARBON_CHECK(llvm_function->getName() == mangled_name,
|
||||
"Mangled name collision: {0}", mangled_name);
|
||||
|
||||
// Set up parameters and the return slot.
|
||||
for (auto [inst_id, arg] :
|
||||
llvm::zip_equal(param_inst_ids, llvm_function->args())) {
|
||||
|
||||
Reference in New Issue
Block a user