@@ -1207,10 +1207,11 @@ void ASTDeclWriter::VisitVarDecl(VarDecl *D) {
1207
1207
!D->hasExtInfo () && D->getFirstDecl () == D->getMostRecentDecl () &&
1208
1208
D->getKind () == Decl::Var && !D->isInline () && !D->isConstexpr () &&
1209
1209
!D->isInitCapture () && !D->isPreviousDeclInSameBlockScope () &&
1210
- !D->isEscapingByref () && !HasDeducedType &&
1211
- D->getStorageDuration () != SD_Static && !D->getDescribedVarTemplate () &&
1212
- !D->getMemberSpecializationInfo () && !D->isObjCForDecl () &&
1213
- !isa<ImplicitParamDecl>(D) && !D->isEscapingByref ())
1210
+ !D->hasInitWithSideEffects () && !D->isEscapingByref () &&
1211
+ !HasDeducedType && D->getStorageDuration () != SD_Static &&
1212
+ !D->getDescribedVarTemplate () && !D->getMemberSpecializationInfo () &&
1213
+ !D->isObjCForDecl () && !isa<ImplicitParamDecl>(D) &&
1214
+ !D->isEscapingByref ())
1214
1215
AbbrevToUse = Writer.getDeclVarAbbrev ();
1215
1216
1216
1217
Code = serialization::DECL_VAR;
@@ -2529,12 +2530,12 @@ void ASTWriter::WriteDeclAbbrevs() {
2529
2530
// VarDecl
2530
2531
Abv->Add (BitCodeAbbrevOp (
2531
2532
BitCodeAbbrevOp::Fixed,
2532
- 21 )); // Packed Var Decl bits: Linkage, ModulesCodegen,
2533
+ 22 )); // Packed Var Decl bits: Linkage, ModulesCodegen,
2533
2534
// SClass, TSCSpec, InitStyle,
2534
2535
// isARCPseudoStrong, IsThisDeclarationADemotedDefinition,
2535
2536
// isExceptionVariable, isNRVOVariable, isCXXForRangeDecl,
2536
2537
// isInline, isInlineSpecified, isConstexpr,
2537
- // isInitCapture, isPrevDeclInSameScope,
2538
+ // isInitCapture, isPrevDeclInSameScope, hasInitWithSideEffects,
2538
2539
// EscapingByref, HasDeducedType, ImplicitParamKind, isObjCForDecl
2539
2540
Abv->Add (BitCodeAbbrevOp (0 )); // VarKind (local enum)
2540
2541
// Type Source Info
0 commit comments