25 cir::GlobalOp globalOp,
30 if (
cgm.getCodeGenOpts().ForbidGuardVariables)
31 cgm.error(
varDecl.getLocation(),
"guard variables are forbidden");
39 llvm::raw_svector_ostream
out(guardName);
40 cgm.getCXXABI().getMangleContext().mangleStaticGuardVariable(&
varDecl,
out);
45 auto guardAttr = mlir::StringAttr::get(&
cgm.getMLIRContext(), guardName);
46 globalOp.setStaticLocalGuardAttr(
47 cir::StaticLocalGuardAttr::get(&
cgm.getMLIRContext(), guardAttr));
50 cgm.emitCXXGlobalVarDeclInit(&
varDecl, globalOp, performInit);