From d1bc109ec4d548a6977060affe0012b1643bedf5 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Fri, 14 Apr 2023 09:27:05 +0300 Subject: Ensure 'new' system header is included by gc_cpp.h if GC_INCLUDE_NEW * include/gc/gc_cpp.h [GC_INCLUDE_NEW]: Include right after include gc.h (regardless of GC_NEW_ABORTS_ON_OOM and _LIBCPP_NO_EXCEPTIONS). --- include/gc/gc_cpp.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/gc/gc_cpp.h b/include/gc/gc_cpp.h index 7fa81ecc..60281c0b 100644 --- a/include/gc/gc_cpp.h +++ b/include/gc/gc_cpp.h @@ -127,6 +127,10 @@ by UseGC. GC is an alias for UseGC, unless GC_NAME_CONFLICT is defined. #include "gc.h" +#ifdef GC_INCLUDE_NEW +# include // for std, bad_alloc +#endif + #ifdef GC_NAMESPACE # define GC_NS_QUALIFY(T) boehmgc::T #else @@ -162,7 +166,6 @@ by UseGC. GC is an alias for UseGC, unless GC_NAME_CONFLICT is defined. # define GC_OP_NEW_OOM_CHECK(obj) \ do { if (!(obj)) GC_abort_on_oom(); } while (0) #elif defined(GC_INCLUDE_NEW) -# include // for bad_alloc # define GC_OP_NEW_OOM_CHECK(obj) if (obj) {} else throw std::bad_alloc() #else // "new" header is not included, so bad_alloc cannot be thrown directly. -- cgit v1.2.1