]> granicus.if.org Git - gc/commitdiff
2006-12-06 Hans Boehm <Hans.Boehm@hp.com> and Peter Wang
authorhboehm <hboehm>
Wed, 6 Dec 2006 19:16:14 +0000 (19:16 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:38 +0000 (21:06 +0400)
* include/private/thread_local_alloc.h, include/new_gc_alloc.h:
Fix __GNUC__ spelling.
* include/gc.h (GC_general_register_disappearing_link):
Add comments.

doc/README.changes
include/gc.h
include/new_gc_alloc.h
include/private/thread_local_alloc.h

index 6e4b8e0474ba10dfded736d0402fd2fcdfbb855b..7d437bb05e93e417c4bc9816ca84d0c2dc05adbf 100644 (file)
@@ -2290,6 +2290,7 @@ Since gc6.7:
 Since gc6.8:
  - Fix typo in PREFETCH implementation for X86_64.  (Thanks to Peter Wang.)
  - Fix M68K LINUX port. (Thanks to Debian packagers.)
+ - __GNUC__ was misspelled as __GNUC in new_gc_alloc.h. (Thanks to Peter Wang.)
 
 Since gc6.9:
  - Remove GC_PROTO, VOLATILE, GC_PTR, and GC_CONST.  Assume ANSI C compiler
@@ -2538,6 +2539,11 @@ Since first gc7.0alpha8 version:
  [ Some gc6.9 changes ]
  - Change FindTopOfStack decl in darwin_stop_world.c.
  - Move some static tests from misc.c to gcconfig.h.  Use #error.
+ - Add GC_print_free_list() function.  (Thanks to Bruce Hoult.)
+ - Add GC_GNU_THREADS support on HURD. (Thanks to Aleksey Demakov,
+   Barry DeFreese, and possibly other Debian maintainers.)
+ - __GNUC__ was misspelled as __GNUC in thread_local_alloc.h.
+   (Thanks to Peter Wang.)
   
 To do:
  - REDIRECT_MALLOC and threads combination should work on more platforms,
index b15224e3ae4445068e807f75cb77b4e9cfb87692..b3f3b9e76ea0e6ec3c978dcacf57530af1cf9cfd 100644 (file)
@@ -724,6 +724,15 @@ GC_API int GC_general_register_disappearing_link (void * * link, void * obj);
        /* the object containing link.  Explicitly deallocating */
        /* obj may or may not cause link to eventually be       */
        /* cleared.                                             */
+       /* This can be used to implement certain types of       */
+       /* weak pointers.  Note however that this generally     */
+       /* requires that thje allocation lock is held (see      */
+       /* GC_call_with_allock_lock() below) when the disguised */
+       /* pointer is accessed.  Otherwise a strong pointer     */
+       /* could be recreated between the time the collector    */
+       /* decides to reclaim the object and the link is        */
+       /* cleared.                                             */
+
 GC_API int GC_unregister_disappearing_link (void * * link);
        /* Returns 0 if link was not actually registered.       */
        /* Undoes a registration by either of the above two     */
index 7668e49e8fc70a9c951a5585fa8e3cc366b2e345..b4906af548ba0c00044be20dc9bd796b97a35dd8 100644 (file)
@@ -67,7 +67,7 @@
 /* A hack to deal with gcc 3.1.  If you are using gcc3.1 and later,    */
 /* you should probably really use gc_allocator.h instead.              */
 #if defined (__GNUC__) && \
-    (__GNUC > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ >= 1)))
+    (__GNUC__ > 3 || (__GNUC__ == 3 && (__GNUC_MINOR__ >= 1)))
 # define simple_alloc __simple_alloc
 #endif
 
index dfe9d756d4eb03d66c42e3f062a7d960417049e4..2b11a1c7d31475ccbc20dbb893111708dc4a3b53 100644 (file)
@@ -40,7 +40,7 @@
 #       define USE_WIN32_COMPILER_TLS
 #     endif /* !GNU */
 #   elif defined(LINUX) && \
-                (__GNUC__ > 3 || (__GNUC == 3 && __GNUC_MINOR__ >=3))
+                (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >=3))
 #     define USE_COMPILER_TLS
 #   elif (defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) || \
          defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS)) || \