diff --git a/secblock.h b/secblock.h index 12122081..3095d10e 100644 --- a/secblock.h +++ b/secblock.h @@ -51,6 +51,12 @@ typedef typename AllocatorBase::const_pointer const_pointer;\ typedef typename AllocatorBase::reference reference;\ typedef typename AllocatorBase::const_reference const_reference; +#if defined(_MSC_VER) && (_MSC_VER < 1300) +// this pragma causes an internal compiler error if placed immediately before std::swap(a, b) +#pragma warning(push) +#pragma warning(disable: 4700) // VC60 workaround: don't know how to get rid of this warning +#endif + template typename A::pointer StandardReallocate(A& a, T *p, typename A::size_type oldSize, typename A::size_type newSize, bool preserve) { @@ -73,6 +79,10 @@ typename A::pointer StandardReallocate(A& a, T *p, typename A::size_type oldSize } } +#if defined(_MSC_VER) && (_MSC_VER < 1300) +#pragma warning(pop) +#endif + template class AllocatorWithCleanup : public AllocatorBase {