* include/gc_cpp.h: Documentation updates.
* include/gc_config_macros.h: Don't check for __ppc__ to set
DARWIN_THREADS.
* Makefile.am: Include configure_atomic_ops.sh in dist.
* Makefile.in: Regenerate.
+2007-05-10 Hans Boehm <Hans.Boehm@hp.com>
+
+ * include/gc_cpp.h: Documentation updates.
+ * include/gc_config_macros.h: Don't check for __ppc__ to set
+ DARWIN_THREADS.
+ * Makefile.am: Include configure_atomic_ops.sh in dist.
+ * Makefile.in: Regenerate.
+
2007-05-08 Hans Boehm <Hans.Boehm@hp.com>
* Makefile.am: Dont distribute copied atomic_ops files. Include
EXTRA_DIST += BCC_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE \
OS2_MAKEFILE PCR-Makefile digimars.mak EMX_MAKEFILE \
Makefile.direct Makefile.dj Makefile.DLLs SMakefile.amiga \
- WCC_MAKEFILE
+ WCC_MAKEFILE configure_atomic_ops.sh
# files used by makefiles other than Makefile.am
#
BCC_MAKEFILE NT_MAKEFILE NT_THREADS_MAKEFILE OS2_MAKEFILE \
PCR-Makefile digimars.mak EMX_MAKEFILE Makefile.direct \
Makefile.dj Makefile.DLLs SMakefile.amiga WCC_MAKEFILE \
- add_gc_prefix.c gcname.c if_mach.c if_not_there.c \
- hpux_test_and_clear.s gc.mak MacOS.c MacProjects.sit.hqx \
- mach_dep.c setjmp_t.c threadlibs.c AmigaOS.c \
- Mac_files/datastart.c Mac_files/dataend.c \
+ configure_atomic_ops.sh add_gc_prefix.c gcname.c if_mach.c \
+ if_not_there.c hpux_test_and_clear.s gc.mak MacOS.c \
+ MacProjects.sit.hqx mach_dep.c setjmp_t.c threadlibs.c \
+ AmigaOS.c Mac_files/datastart.c Mac_files/dataend.c \
Mac_files/MacOS_config.h Mac_files/MacOS_Test_config.h \
include/private/msvc_dbg.h msvc_dbg.c libatomic_ops-1.2 \
libtool.m4
# define GC_SOLARIS_THREADS
# define GC_PTHREADS
# endif
-
-# if defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
+# if defined(__APPLE__) && defined(__MACH__)
# define GC_DARWIN_THREADS
# define GC_PTHREADS
# endif
class A: public gc {...};
A* a = new (NoGC) A; // a is uncollectable.
+The new(PointerFreeGC) syntax allows the allocation of collectable
+objects that are not scanned by the collector. This useful if you
+are allocating compressed data, bitmaps, or network packets. (In
+the latter case, it may remove danger of unfriendly network packets
+intentionally containing values that cause spurious memory retention.)
+
Both uncollectable and collectable objects can be explicitly deleted
with "delete", which invokes an object's destructors and frees its
storage immediately.
Cautions:
-1. Be sure the collector has been augmented with "make c++".
+1. Be sure the collector has been augmented with "make c++" or
+"--enable-cplusplus".
2. If your compiler supports the new "operator new[]" syntax, then
add -DGC_OPERATOR_NEW_ARRAY to the Makefile.
that preserves the correct exception semantics requires a language
extension, e.g. the "gc" keyword.)
-4. Compiler bugs:
+4. Compiler bugs (now hopefully history):
* Solaris 2's CC (SC3.0) doesn't implement t->~T() correctly, so the
destructors of classes derived from gc_cleanup won't be invoked.