diff --git a/third_party/upb/upb/msg.c b/third_party/upb/upb/msg.c index a77da5665c..399e8753ba 100644 --- a/third_party/upb/upb/msg.c +++ b/third_party/upb/upb/msg.c @@ -33,17 +33,26 @@ static size_t upb_msg_sizeof(const upb_msglayout *l) { } static upb_msg_internal *upb_msg_getinternal(upb_msg *msg) { +#pragma warning(push) +#pragma warning(disable : 4146) return VOIDPTR_AT(msg, -sizeof(upb_msg_internal)); +#pragma warning(pop) } static const upb_msg_internal *upb_msg_getinternal_const(const upb_msg *msg) { +#pragma warning(push) +#pragma warning(disable : 4146) return VOIDPTR_AT(msg, -sizeof(upb_msg_internal)); +#pragma warning(pop) } static upb_msg_internal_withext *upb_msg_getinternalwithext( upb_msg *msg, const upb_msglayout *l) { UPB_ASSERT(l->extendable); +#pragma warning(push) +#pragma warning(disable : 4146) return VOIDPTR_AT(msg, -sizeof(upb_msg_internal_withext)); +#pragma warning(pop) } upb_msg *upb_msg_new(const upb_msglayout *l, upb_arena *a) {