================
@@ -1833,6 +1864,33 @@ bool CodeGenFunction::isTrivialInitializer(const Expr
*Init) {
return false;
}
+LangOptions::TrivialAutoVarInitKind
+CodeGenFunction::getAutoVarInitKind(QualType type, const VarDecl &D) {
+ auto hasNoTrivialAutoVarInitAttr = [](const Decl *D) {
+ return D && D->hasAttr<NoTrivialAutoVarInitAttr>();
+ };
+ if (D.isConstexpr() || D.getAttr<UninitializedAttr>() ||
+ hasNoTrivialAutoVarInitAttr(type->getAsTagDecl()) ||
+ hasNoTrivialAutoVarInitAttr(CurFuncDecl))
+ return LangOptions::TrivialAutoVarInitKind::Uninitialized;
+ return getContext().getLangOpts().getTrivialAutoVarInit();
+}
+
+void CodeGenFunction::emitBypassedVarInitsForSource(const Stmt *Source) {
+ const auto *Vars = Bypasses.getBypassedVarsForSource(Source);
+ if (!Vars)
+ return;
+ for (const VarDecl *VD : *Vars) {
+ for (const auto &[D, Addr] : BypassedVarInits) {
----------------
efriedma-quic wrote:
This is quadratic in the number of variables?
https://github.com/llvm/llvm-project/pull/181937
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits