File tree Expand file tree Collapse file tree 2 files changed +5
-4
lines changed Expand file tree Collapse file tree 2 files changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -304,10 +304,10 @@ class DynamicMessage final : public Message {
304
304
// class's memory is allocated via the global operator new. Thus, we need to
305
305
// manually call the global operator delete. Calling the destructor is taken
306
306
// care of for us. This makes DynamicMessage compatible with -fsized-delete.
307
- // It doesn't work for MSVC though.
308
- #ifndef _MSC_VER
307
+ // Working in MSVC 19.30+ (MSVS 2022), may not work in old versions though.
308
+ #if !defined( _MSC_VER) || (_MSC_VER >= 1930)
309
309
static void operator delete (void * ptr) { ::operator delete (ptr); }
310
- #endif // !_MSC_VER
310
+ #endif // !defined( _MSC_VER) || (_MSC_VER >= 1930)
311
311
#endif
312
312
313
313
private:
Original file line number Diff line number Diff line change @@ -1654,7 +1654,8 @@ void ExtensionSet::Extension::Free() {
1654
1654
if (is_lazy) {
1655
1655
delete ptr.lazymessage_value ;
1656
1656
} else {
1657
- delete ptr.message_value ;
1657
+ ptr.message_value ->~MessageLite ();
1658
+ ::operator delete (ptr.message_value );
1658
1659
}
1659
1660
break ;
1660
1661
default :
You can’t perform that action at this time.
0 commit comments