+ ($name:expr, fn(...) -> $ret:expr) => (
+ if key == $name {
+ let f = declare::declare_cfn(ccx, $name,
+ Type::variadic_func(&[], &$ret),
+ ccx.tcx().mk_nil());
+ llvm::SetUnnamedAddr(f, false);
+ ccx.intrinsics().borrow_mut().insert($name, f.clone());
+ return Some(f);
+ }
+ );