How to add extern function declaratioin to llvm bc?

Dear all,
I am wondering if there is some API to add extern function declaration to bc file. For example, as given below, I want to add the line “extern void foo();” to my bc file with some llvm methods, how can I do this, please?

extern void foo(); // the llvm bc code is: declare void @_Z3foov(). How can I add this line to llvm bc using some llvm methods?

int main() {
foo();
}

Module *M = ...;
Function *foo = Function::Create(
  TypeBuilder<void(), false>::get(),
  GlobalValue::ExternalLinkage,
  "_Z3foov", M);
// foo is now owned by M.