Bump version to 7.4.0; change policy regarding version numbers gc7_4_0
authorIvan Maidanski <ivmai@mail.ru>
Sun, 17 Nov 2013 09:40:36 +0000 (13:40 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 17 Nov 2013 16:05:25 +0000 (20:05 +0400)
* ChangeLog: Update.
* README.md: Bump version.
* configure.ac (AC_INIT): Likewise.
* include/gc_version.h (GC_TMP_VERSION_MINOR): Likewise.
* alloc.c (GC_version, GC_get_version): Replace GC_TMP_ALPHA_VERSION
with GC_VERSION_MICRO.
* doc/debugging.html: Remove comment about "alpha" versions.
* doc/overview.html: Likewise.
* include/gc.h (GC_get_version): Update comment.
* include/gc_version.h (GC_NOT_ALPHA): Remove.
* include/gc_version.h (GC_TMP_ALPHA_VERSION): Replace with
GC_TMP_VERSION_MICRO; add comment about policy.
* m4/gc_set_version.m4 (GC_ALPHA_VERSION): Replace with
GC_VERSION_MICRO; update comments; adjust version format test.
* tests/test.c (GC_ALPHA_VERSION): Remove.
* tools/add_gc_prefix.c (GC_ALPHA_VERSION): Likewise.
* tools/gcname.c (GC_ALPHA_VERSION): Likewise.
* tests/test.c (CHECH_GCLIB_VERSION): Replace GC_ALPHA_VERSION with
GC_VERSION_MICRO.
* tools/add_gc_prefix.c (main): Replace "gc%d.%d[alpha%d]" print
format with "gc-%d.%d.%d" one.
* tools/gcname.c (main): Likewise.
* windows-untested/gc.ver (_BETA, GC_VERSION_MICRO): Remove.

13 files changed:
ChangeLog
README.md
alloc.c
configure.ac
doc/debugging.html
doc/overview.html
include/gc.h
include/gc_version.h
m4/gc_set_version.m4
tests/test.c
tools/add_gc_prefix.c
tools/gcname.c
windows-untested/gc.ver

index 5e9dfd7..24483ed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,5 @@
 
-== [7.3alpha4] (development) ==
+== [7.4.0] 2013-11-17 ==
 
 * Add 'bytes reclaimed' counters to public GC_prof_stats_s.
 * Add AArch64 (64-bit ARM) target support.
@@ -33,6 +33,7 @@
 * Better document GC_warn_proc in gc.h.
 * Call GC_on_abort (with NULL argument) on exit(1).
 * Call GC_stats/verbose_log_printf instead of GC_log_printf if print_stats.
+* Change policy regarding version numbers ("micro" part instead of "alpha").
 * Changed C99-style designated init of GC_dl_hashtbl struct to use C89-style.
 * Check GC_base result in GC_print_all_smashed_proc.
 * Check that SIG_SUSPEND and SIG_THR_RESTART are different (Pthreads).
index c87b7d1..cada89a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Boehm-Demers-Weiser Garbage Collector
 
-This is version 7.3alpha3 of a conservative garbage collector for C and C++.
+This is version 7.4.0 of a conservative garbage collector for C and C++.
 
 You might find a more recent version
 [here](http://www.hpl.hp.com/personal/Hans_Boehm/gc).
diff --git a/alloc.c b/alloc.c
index c8623dc..b9039e0 100644 (file)
--- a/alloc.c
+++ b/alloc.c
@@ -99,13 +99,13 @@ char * const GC_copyright[] =
 /* gc.h, which is included by gc_priv.h.                                */
 #ifndef GC_NO_VERSION_VAR
   const unsigned GC_version = ((GC_VERSION_MAJOR << 16) |
-                        (GC_VERSION_MINOR << 8) | GC_TMP_ALPHA_VERSION);
+                        (GC_VERSION_MINOR << 8) | GC_VERSION_MICRO);
 #endif
 
 GC_API unsigned GC_CALL GC_get_version(void)
 {
   return (GC_VERSION_MAJOR << 16) | (GC_VERSION_MINOR << 8) |
-          GC_TMP_ALPHA_VERSION;
+          GC_VERSION_MICRO;
 }
 
 /* some more variables */
index 031b129..2e9afca 100644 (file)
@@ -12,8 +12,8 @@
 dnl Process this file with autoconf to produce configure.
 
 # Initialization
-AC_INIT(gc,7.3alpha3,gc@linux.hpl.hp.com)
-    ## version must conform to [0-9]+[.][0-9]+(alpha[0-9]+)?
+AC_INIT(gc,7.4.0,gc@linux.hpl.hp.com)
+    ## version must conform to [0-9]+[.][0-9]+[.][0-9]+
 AC_CONFIG_SRCDIR(gcj_mlc.c)
 AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_TARGET
index 158e4fa..241875c 100644 (file)
@@ -13,8 +13,7 @@ It applies both to debugging issues in client code that manifest themselves
 as collector misbehavior, and to debugging the collector itself.
 <P>
 If you suspect a bug in the collector itself, it is strongly recommended
-that you try the latest collector release, even if it is labelled as "alpha",
-before proceeding.
+that you try the latest collector release before proceeding.
 <H2>Bus Errors and Segmentation Violations</h2>
 <P>
 If the fault occurred in GC_find_limit, or with incremental collection enabled,
index 6754a3c..6ea9f2e 100644 (file)
@@ -46,7 +46,7 @@ just prefer the simple collector interface.
 For a more detailed description of the interface, see
 <a href="gcinterface.html">here</a>.
 </p><p>
-Alternatively, the garbage collector  may be used as
+Alternatively, the garbage collector may be used as
 a <a href="leak.html">leak detector</a>
 for C or C++ programs, though that is not its primary goal.
 </p><p>
@@ -60,8 +60,6 @@ in <a href="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/">
 <tt>gc_source/</tt></a>.
 Later versions may contain additional features, platform support,
 or bug fixes, but are likely to be less well tested.
-Note that versions containing the letters <tt>alpha</tt> are even less
-well tested than others, especially on non-HP platforms.
 </p><p>
 A slightly older version of the garbage collector is now also
 included as part of the
index a3a13b9..ca82fd1 100644 (file)
@@ -67,7 +67,7 @@ typedef void * GC_PTR;  /* preserved only for backward compatibility    */
 #endif
 
 /* Get the GC library version. The returned value is a constant in the  */
-/* form: ((version_major<<16) | (version_minor<<8) | alpha_version).    */
+/* form: ((version_major<<16) | (version_minor<<8) | version_micro).    */
 GC_API unsigned GC_CALL GC_get_version(void);
 
 /* Public read-only variables */
index 38afc0f..5551f04 100644 (file)
 /* This should never be included directly; it is included only from gc.h. */
 #if defined(GC_H)
 
+/* The policy regarding version numbers: development code has odd       */
+/* "minor" number (and "micro" part is 0); when development is finished */
+/* and a release is prepared, "minor" number is incremented (keeping    */
+/* "micro" number still zero), whenever a defect is fixed a new release */
+/* is prepared incrementing "micro" part to odd value (the most stable  */
+/* release has the biggest "micro" number).                             */
+
 /* The version here should match that in configure/configure.ac */
 /* Eventually this one may become unnecessary.  For now we need */
 /* it to keep the old-style build process working.              */
 #define GC_TMP_VERSION_MAJOR 7
-#define GC_TMP_VERSION_MINOR 3
-#define GC_TMP_ALPHA_VERSION 3 /* 7.3alpha3 */
-
-#ifndef GC_NOT_ALPHA
-# define GC_NOT_ALPHA 0xff
-#endif
+#define GC_TMP_VERSION_MINOR 4
+#define GC_TMP_VERSION_MICRO 0 /* 7.4.0 */
 
 #ifdef GC_VERSION_MAJOR
 # if GC_TMP_VERSION_MAJOR != GC_VERSION_MAJOR \
      || GC_TMP_VERSION_MINOR != GC_VERSION_MINOR \
-     || defined(GC_ALPHA_VERSION) != (GC_TMP_ALPHA_VERSION != GC_NOT_ALPHA) \
-     || (defined(GC_ALPHA_VERSION) && GC_TMP_ALPHA_VERSION != GC_ALPHA_VERSION)
-#   error Inconsistent version info.  Check README, include/gc_version.h and configure.ac.
+     || GC_TMP_VERSION_MICRO != GC_VERSION_MICRO
+#   error Inconsistent version info.  Check README.md, include/gc_version.h and configure.ac.
 # endif
 #else
 # define GC_VERSION_MAJOR GC_TMP_VERSION_MAJOR
 # define GC_VERSION_MINOR GC_TMP_VERSION_MINOR
-# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
+# define GC_VERSION_MICRO GC_TMP_VERSION_MICRO
 #endif /* !GC_VERSION_MAJOR */
 
 #endif
index e805a7a..465e4f0 100644 (file)
@@ -9,26 +9,19 @@
 # modified is included with the above copyright notice.
 
 # GC_SET_VERSION
-# sets and AC_DEFINEs GC_VERSION_MAJOR, GC_VERSION_MINOR and GC_ALPHA_VERSION
+# sets and AC_DEFINEs GC_VERSION_MAJOR, GC_VERSION_MINOR and GC_VERSION_MICRO
 # based on the contents of PACKAGE_VERSION; PACKAGE_VERSION must conform to
-# [0-9]+[.][0-9]+(alpha[0.9]+)?
-# in lex syntax; if there is no alpha number, GC_ALPHA_VERSION is empty
+# [0-9]+[.][0-9]+[.][0-9]+
 #
 AC_DEFUN([GC_SET_VERSION], [
   AC_MSG_CHECKING(GC version numbers)
   GC_VERSION_MAJOR=`echo $PACKAGE_VERSION | sed 's/^\([[0-9]][[0-9]]*\)[[.]].*$/\1/g'`
   GC_VERSION_MINOR=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]]\([[0-9]][[0-9]]*\).*$/\1/g'`
-  GC_ALPHA_VERSION=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]][[0-9]]*//'`
-
-  case "$GC_ALPHA_VERSION" in
-    alpha*)
-      GC_ALPHA_VERSION=`echo $GC_ALPHA_VERSION \
-      | sed 's/alpha\([[0-9]][[0-9]]*\)/\1/'` ;;
-    *)  GC_ALPHA_MAJOR='' ;;
-  esac
+  GC_VERSION_MICRO=`echo $PACKAGE_VERSION | sed 's/^[[^.]]*[[.]][[^.]]*[[.]]\([[0-9]][[0-9]]*\)$/\1/g'`
 
   if test :$GC_VERSION_MAJOR: = :: \
-     -o   :$GC_VERSION_MINOR: = :: ;
+       -o :$GC_VERSION_MINOR: = :: \
+       -o :$GC_VERSION_MICRO: = :: ;
   then
     AC_MSG_RESULT(invalid)
     AC_MSG_ERROR([nonconforming PACKAGE_VERSION='$PACKAGE_VERSION'])
@@ -38,12 +31,10 @@ AC_DEFUN([GC_SET_VERSION], [
                      [The major version number of this GC release.])
   AC_DEFINE_UNQUOTED([GC_VERSION_MINOR], $GC_VERSION_MINOR,
                      [The minor version number of this GC release.])
-  if test :$GC_ALPHA_VERSION: != :: ; then
-    AC_DEFINE_UNQUOTED([GC_ALPHA_VERSION], $GC_ALPHA_VERSION,
-                       [The alpha version number, if applicable.])
-  fi
+  AC_DEFINE_UNQUOTED([GC_VERSION_MICRO], $GC_VERSION_MICRO,
+                     [The micro version number of this GC release.])
   AC_MSG_RESULT(major=$GC_VERSION_MAJOR minor=$GC_VERSION_MINOR \
-${GC_ALPHA_VERSION:+alpha=}$GC_ALPHA_VERSION)
+                micro=$GC_VERSION_MICRO)
 ])
 
 sinclude(libtool.m4)
index 12baa94..34c6307 100644 (file)
 
 # include <stdarg.h>
 
-#ifndef GC_ALPHA_VERSION
-# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
-#endif
-
 #define CHECH_GCLIB_VERSION \
             if (GC_get_version() != ((GC_VERSION_MAJOR<<16) \
                                     | (GC_VERSION_MINOR<<8) \
-                                    | GC_ALPHA_VERSION)) { \
+                                    | GC_VERSION_MICRO)) { \
               GC_printf("libgc version mismatch\n"); \
               exit(1); \
             }
index 8369d68..60afa5f 100644 (file)
@@ -1,21 +1,13 @@
 # include <stdio.h>
 # include <gc.h>
 
-#ifndef GC_ALPHA_VERSION
-# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
-#endif
-
 int main(int argc, char ** argv)
 {
     int i;
 
     for (i = 1; i < argc; i++) {
-      if (GC_ALPHA_VERSION == GC_NOT_ALPHA) {
-        printf("gc%d.%d/%s ", GC_VERSION_MAJOR, GC_VERSION_MINOR, argv[i]);
-      } else {
-        printf("gc%d.%dalpha%d/%s ", GC_VERSION_MAJOR,
-               GC_VERSION_MINOR, GC_ALPHA_VERSION, argv[i]);
-      }
+      printf("gc-%d.%d.%d/%s ",
+             GC_VERSION_MAJOR, GC_VERSION_MINOR, GC_VERSION_MICRO, argv[i]);
     }
     return(0);
 }
index 74be553..b9f3364 100644 (file)
@@ -1,17 +1,9 @@
 #include <stdio.h>
 #include <gc.h>
 
-#ifndef GC_ALPHA_VERSION
-# define GC_ALPHA_VERSION GC_TMP_ALPHA_VERSION
-#endif
-
 int main(void)
 {
-    if (GC_ALPHA_VERSION == GC_NOT_ALPHA) {
-        printf("gc%d.%d", GC_VERSION_MAJOR, GC_VERSION_MINOR);
-    } else {
-        printf("gc%d.%dalpha%d", GC_VERSION_MAJOR,
-                                 GC_VERSION_MINOR, GC_ALPHA_VERSION);
-    }
+    printf("gc-%d.%d.%d",
+           GC_VERSION_MAJOR, GC_VERSION_MINOR, GC_VERSION_MICRO);
     return 0;
 }
index e91c7b6..97920a2 100644 (file)
@@ -3,11 +3,6 @@
 
 #include "../include/../version.h"
 
-#if GC_ALPHA_VERSION != GC_NOT_ALPHA
-#define _BETA 1
-#endif
-
-#define GC_VERSION_MICRO    GC_ALPHA_VERSION
 #define GC_VERSION_REVISION 0
 
 #define GC_VERSION        ((GC_VERSION_MAJOR) * 100 + GC_VERSION_MINOR)