Index: Source/platform/heap/Heap.h |
diff --git a/Source/platform/heap/Heap.h b/Source/platform/heap/Heap.h |
index 750eb3058acfacdaa6ec4fdd67ddc2bb6649ca14..7dc1767cf91c1fd7db2a9e177973972c5b56cc0f 100644 |
--- a/Source/platform/heap/Heap.h |
+++ b/Source/platform/heap/Heap.h |
@@ -883,7 +883,18 @@ class GarbageCollected { |
// For now direct allocation of arrays on the heap is not allowed. |
void* operator new[](size_t size); |
+#if OS(WIN) && COMPILER(MSVC) |
+ // Due to some quirkiness in the MSVC compiler we have to provide |
+ // the delete[] operator in the GarbageCollected subclasses as it |
+ // is called when a class is exported in a DLL. |
+protected: |
+ void operator delete[](void* p) |
+ { |
+ ASSERT_NOT_REACHED(); |
+ } |
+#else |
void operator delete[](void* p); |
+#endif |
public: |
typedef T GarbageCollectedBase; |