Index: clang/lib/AST/Interp/ByteCodeExprGen.cpp =================================================================== --- clang/lib/AST/Interp/ByteCodeExprGen.cpp +++ clang/lib/AST/Interp/ByteCodeExprGen.cpp @@ -109,7 +109,8 @@ }); } - case CK_UncheckedDerivedToBase: { + case CK_UncheckedDerivedToBase: + case CK_DerivedToBase: { if (!this->visit(SubExpr)) return false; Index: clang/test/AST/Interp/records.cpp =================================================================== --- clang/test/AST/Interp/records.cpp +++ clang/test/AST/Interp/records.cpp @@ -269,6 +269,8 @@ static_assert(c.a == 10, ""); static_assert(c.b == 20, ""); + constexpr const A *aPointer = &c; + constexpr const B *bPointer = &c; class D : private A, private B { public: