diff --git a/clang/lib/AST/ByteCode/Interp.cpp b/clang/lib/AST/ByteCode/Interp.cpp index 73507d2725a3f..931d3879f0ff8 100644 --- a/clang/lib/AST/ByteCode/Interp.cpp +++ b/clang/lib/AST/ByteCode/Interp.cpp @@ -885,12 +885,12 @@ bool CheckStore(InterpState &S, CodePtr OpPC, const Pointer &Ptr) { if (!Ptr.block()->isAccessible()) { if (!CheckLive(S, OpPC, Ptr, AK_Assign)) return false; + if (!CheckExtern(S, OpPC, Ptr)) + return false; return CheckDummy(S, OpPC, Ptr.block(), AK_Assign); } if (!CheckLifetime(S, OpPC, Ptr.getLifetime(), AK_Assign)) return false; - if (!CheckExtern(S, OpPC, Ptr)) - return false; if (!CheckRange(S, OpPC, Ptr, AK_Assign)) return false; if (!CheckActive(S, OpPC, Ptr, AK_Assign))