-2011-08-10 Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * configure: Regenerate.
+ * tests/Makefile.in: Ditto.
+ * tests/test_atomic_include.h: Ditto.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * configure.ac (PICFLAG, THREADDLLIBS): Define as empty for MinGW.
+ * configure.ac (have_pthreads): New definition (set to true unless
+ MinGW).
+ * configure.ac (HAVE_PTHREAD_H): New AM conditional (based on
+ have_pthreads value).
+ * tests/Makefile.am (test_atomic_pthreads_SOURCES,
+ test_atomic_pthreads_CPPFLAGS, test_atomic_pthreads_LDADD): Define
+ only if HAVE_PTHREAD_H.
+ * tests/Makefile.am (TESTS): Don't include test_atomic_pthreads unless
+ HAVE_PTHREAD_H.
+ * tests/Makefile.am (check_PROGRAMS): Define to TESTS value.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * configure.ac (PICFLAG): Set to -fPIC if GCC but not Gygwin.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * tests/test_malloc.c (LIST_LENGTH, LARGE_OBJ_SIZE): Define to
+ a smaller value unless HAVE_MMAP.
+
+2011-09-21 Ivan Maidanski <ivmai@mail.ru>
+
+ * tests/test_malloc.c (cons, run_one_test): Call exit with a non-zero
+ code (instead of abort) if out of memory.
+ * tests/test_stack.c (add_elements): Likewise.
+ * tests/test_stack.c (main): Use a distinct exit code if a thread
+ creation failed.
+
+2011-09-15 Ivan Maidanski <ivmai@mail.ru>
+
+ * src/atomic_ops/sysdeps/emul_cas.h: Fix a typo (replace AO_FORCE_CAS
+ with AO_REQUIRE_CAS in a comment).
+
+2011-09-08 Ivan Maidanski <ivmai@mail.ru> (really Petter Urkedal)
* src/Makefile.am, tests/Makefile.am: Set compiler include paths
to $(top_builddir)/src and $(top_srcdir)/src.
LIBOBJS
NEED_ASM_FALSE
NEED_ASM_TRUE
+HAVE_PTHREAD_H_FALSE
+HAVE_PTHREAD_H_TRUE
THREADDLLIBS
PICFLAG
EGREP
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Determining PIC compiler flag" >&5
$as_echo_n "checking Determining PIC compiler flag... " >&6; }
if test "$GCC" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: -fPIC" >&5
-$as_echo "-fPIC" >&6; }
- PICFLAG=-fPIC
case "$host" in
*-*-solaris*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: -fPIC" >&5
+$as_echo "-fPIC" >&6; }
+ PICFLAG=-fPIC
# Workaround: at least GCC 3.4.6 does not define this macro.
CFLAGS="$CFLAGS -D__PIC__=1"
;;
+ *-*-cygwin* | *-*-mingw*)
+ # Cygwin and Mingw[-w32/64] do not need -fPIC.
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: -fPIC" >&5
+$as_echo "-fPIC" >&6; }
+ PICFLAG=-fPIC
+ ;;
esac
else
case "$host" in
THREADDLLIBS=
+have_pthreads=true
## Libraries needed to support threads.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_self in -lpthread" >&5
$as_echo_n "checking for pthread_self in -lpthread... " >&6; }
*-*-cygwin* | *-*-darwin*)
THREADDLLIBS=
;;
+ *-*-mingw*)
+ THREADDLLIBS=
+ have_pthreads=false
+ ;;
esac
+ if test x$have_pthreads = xtrue; then
+ HAVE_PTHREAD_H_TRUE=
+ HAVE_PTHREAD_H_FALSE='#'
+else
+ HAVE_PTHREAD_H_TRUE='#'
+ HAVE_PTHREAD_H_FALSE=
+fi
+
if test x$need_asm = xtrue; then
NEED_ASM_TRUE=
NEED_ASM_FALSE='#'
as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${HAVE_PTHREAD_H_TRUE}" && test -z "${HAVE_PTHREAD_H_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_PTHREAD_H\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${NEED_ASM_TRUE}" && test -z "${NEED_ASM_FALSE}"; then
as_fn_error $? "conditional \"NEED_ASM\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-TESTS = test_atomic$(EXEEXT) test_atomic_pthreads$(EXEEXT) \
- test_stack$(EXEEXT) test_malloc$(EXEEXT)
-check_PROGRAMS = test_atomic$(EXEEXT) test_atomic_pthreads$(EXEEXT) \
- test_stack$(EXEEXT) test_malloc$(EXEEXT)
+@HAVE_PTHREAD_H_FALSE@TESTS = test_atomic$(EXEEXT) test_stack$(EXEEXT) \
+@HAVE_PTHREAD_H_FALSE@ test_malloc$(EXEEXT)
+@HAVE_PTHREAD_H_TRUE@TESTS = test_atomic$(EXEEXT) \
+@HAVE_PTHREAD_H_TRUE@ test_atomic_pthreads$(EXEEXT) \
+@HAVE_PTHREAD_H_TRUE@ test_stack$(EXEEXT) test_malloc$(EXEEXT)
+check_PROGRAMS = $(am__EXEEXT_1)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
+@HAVE_PTHREAD_H_FALSE@am__EXEEXT_1 = test_atomic$(EXEEXT) \
+@HAVE_PTHREAD_H_FALSE@ test_stack$(EXEEXT) test_malloc$(EXEEXT)
+@HAVE_PTHREAD_H_TRUE@am__EXEEXT_1 = test_atomic$(EXEEXT) \
+@HAVE_PTHREAD_H_TRUE@ test_atomic_pthreads$(EXEEXT) \
+@HAVE_PTHREAD_H_TRUE@ test_stack$(EXEEXT) test_malloc$(EXEEXT)
am_test_atomic_OBJECTS = test_atomic.$(OBJEXT)
test_atomic_OBJECTS = $(am_test_atomic_OBJECTS)
am__DEPENDENCIES_1 =
test_atomic_DEPENDENCIES = $(am__DEPENDENCIES_1) \
../src/libatomic_ops.a
-am_test_atomic_pthreads_OBJECTS = \
- test_atomic_pthreads-test_atomic.$(OBJEXT)
+am__test_atomic_pthreads_SOURCES_DIST = test_atomic.c
+am__objects_1 = test_atomic_pthreads-test_atomic.$(OBJEXT)
+@HAVE_PTHREAD_H_TRUE@am_test_atomic_pthreads_OBJECTS = \
+@HAVE_PTHREAD_H_TRUE@ $(am__objects_1)
test_atomic_pthreads_OBJECTS = $(am_test_atomic_pthreads_OBJECTS)
-test_atomic_pthreads_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- ../src/libatomic_ops.a
+am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) ../src/libatomic_ops.a
+@HAVE_PTHREAD_H_TRUE@test_atomic_pthreads_DEPENDENCIES = \
+@HAVE_PTHREAD_H_TRUE@ $(am__DEPENDENCIES_2)
am_test_malloc_OBJECTS = test_malloc.$(OBJEXT)
test_malloc_OBJECTS = $(am_test_malloc_OBJECTS)
test_malloc_DEPENDENCIES = $(am__DEPENDENCIES_1) \
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(test_atomic_SOURCES) $(test_atomic_pthreads_SOURCES) \
$(test_malloc_SOURCES) $(test_stack_SOURCES)
-DIST_SOURCES = $(test_atomic_SOURCES) $(test_atomic_pthreads_SOURCES) \
+DIST_SOURCES = $(test_atomic_SOURCES) \
+ $(am__test_atomic_pthreads_SOURCES_DIST) \
$(test_malloc_SOURCES) $(test_stack_SOURCES)
ETAGS = etags
CTAGS = ctags
BUILT_SOURCES = test_atomic_include.h list_atomic.i
CLEANFILES = list_atomic.i
AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src
+@HAVE_PTHREAD_H_TRUE@test_atomic_pthreads_SOURCES = $(test_atomic_SOURCES)
+@HAVE_PTHREAD_H_TRUE@test_atomic_pthreads_CPPFLAGS = -DAO_USE_PTHREAD_DEFS $(AM_CPPFLAGS)
+@HAVE_PTHREAD_H_TRUE@test_atomic_pthreads_LDADD = $(test_atomic_LDADD)
test_atomic_SOURCES = test_atomic.c
test_atomic_LDADD = $(THREADDLLIBS) ../src/libatomic_ops.a
-test_atomic_pthreads_SOURCES = test_atomic.c
-test_atomic_pthreads_CPPFLAGS = -DAO_USE_PTHREAD_DEFS $(AM_CPPFLAGS)
-test_atomic_pthreads_LDADD = $(THREADDLLIBS) ../src/libatomic_ops.a
test_stack_SOURCES = test_stack.c
test_stack_LDADD = $(THREADDLLIBS) ../src/libatomic_ops_gpl.a \
../src/libatomic_ops.a
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: )\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
}
-
+
/*
* Copyright (c) 2003 by Hewlett-Packard Company. All rights reserved.
*
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: _release)\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
}
-
+
/*
* Copyright (c) 2003 by Hewlett-Packard Company. All rights reserved.
*
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: _acquire)\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
}
-
+
/*
* Copyright (c) 2003 by Hewlett-Packard Company. All rights reserved.
*
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: _read)\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
}
-
+
/*
* Copyright (c) 2003 by Hewlett-Packard Company. All rights reserved.
*
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: _write)\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
}
-
+
/*
* Copyright (c) 2003 by Hewlett-Packard Company. All rights reserved.
*
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: _full)\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
}
-
+
/*
* Copyright (c) 2003 by Hewlett-Packard Company. All rights reserved.
*
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: _release_write)\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
}
-
+
/*
* Copyright (c) 2003 by Hewlett-Packard Company. All rights reserved.
*
#undef TA_assert
#define TA_assert(e) \
if (!(e)) { fprintf(stderr, "Assertion failed %s:%d (barrier: _acquire_read)\n", \
- __FILE__, __LINE__), exit(1); }
+ __FILE__, __LINE__), exit(1); }
#undef MISSING
#define MISSING(name) \
MISSING(AO_compare_and_swap_double);
# endif
}
+
+
+