Skip to content

Commit

Permalink
Bump version to 7.4.0; change policy regarding version numbers
Browse files Browse the repository at this point in the history
* 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.
  • Loading branch information
ivmai committed Nov 17, 2013
1 parent 6d09ad1 commit 4c4054f
Show file tree
Hide file tree
Showing 13 changed files with 35 additions and 69 deletions.
3 changes: 2 additions & 1 deletion 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.
Expand Down Expand Up @@ -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).
Expand Down
2 changes: 1 addition & 1 deletion 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).
Expand Down
4 changes: 2 additions & 2 deletions alloc.c
Expand Up @@ -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 */
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions doc/debugging.html
Expand Up @@ -13,8 +13,7 @@ <H1>Debugging Garbage Collector Related Problems</h1>
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,
Expand Down
4 changes: 1 addition & 3 deletions doc/overview.html
Expand Up @@ -46,7 +46,7 @@ <h1>A garbage collector for C and C++</h1>
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>
Expand All @@ -60,8 +60,6 @@ <h1>A garbage collector for C and C++</h1>
<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
Expand Down
2 changes: 1 addition & 1 deletion include/gc.h
Expand Up @@ -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 */
Expand Down
22 changes: 12 additions & 10 deletions include/gc_version.h
Expand Up @@ -18,28 +18,30 @@
/* 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
25 changes: 8 additions & 17 deletions m4/gc_set_version.m4
Expand Up @@ -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'])
Expand All @@ -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)
6 changes: 1 addition & 5 deletions tests/test.c
Expand Up @@ -116,14 +116,10 @@

# 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); \
}
Expand Down
12 changes: 2 additions & 10 deletions tools/add_gc_prefix.c
@@ -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);
}
12 changes: 2 additions & 10 deletions tools/gcname.c
@@ -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;
}
5 changes: 0 additions & 5 deletions windows-untested/gc.ver
Expand Up @@ -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)
Expand Down

0 comments on commit 4c4054f

Please sign in to comment.