Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/AST/Interp/Interp.cpp
Show First 20 Lines • Show All 428 Lines • ▼ Show 20 Lines | if (FieldType->isRecordType()) { | ||||
DiagnoseUninitializedSubobject(S, S.Current->getSource(OpPC), | DiagnoseUninitializedSubobject(S, S.Current->getSource(OpPC), | ||||
F.Decl->getType(), F.Decl->getLocation()); | F.Decl->getType(), F.Decl->getLocation()); | ||||
Result = false; | Result = false; | ||||
} | } | ||||
} | } | ||||
// Check Fields in all bases | // Check Fields in all bases | ||||
for (const Record::Base &B : R->bases()) { | for (const Record::Base &B : R->bases()) { | ||||
Pointer P = Pointer(BasePtr.block(), B.Offset); | Pointer P = BasePtr.atField(B.Offset); | ||||
Result &= CheckFieldsInitialized(S, OpPC, P, B.R); | Result &= CheckFieldsInitialized(S, OpPC, P, B.R); | ||||
} | } | ||||
// TODO: Virtual bases | // TODO: Virtual bases | ||||
return Result; | return Result; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 76 Lines • Show Last 20 Lines |