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 {
304304 // class's memory is allocated via the global operator new. Thus, we need to
305305 // manually call the global operator delete. Calling the destructor is taken
306306 // 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)
309309 static void operator delete (void * ptr) { ::operator delete (ptr); }
310- #endif // !_MSC_VER
310+ #endif // !defined( _MSC_VER) || (_MSC_VER >= 1930)
311311#endif
312312
313313 private:
Original file line number Diff line number Diff line change @@ -1654,7 +1654,8 @@ void ExtensionSet::Extension::Free() {
16541654 if (is_lazy) {
16551655 delete ptr.lazymessage_value ;
16561656 } else {
1657- delete ptr.message_value ;
1657+ ptr.message_value ->~MessageLite ();
1658+ ::operator delete (ptr.message_value );
16581659 }
16591660 break ;
16601661 default :
You can’t perform that action at this time.
0 commit comments