New Upstream Release - ode
Ready changes
Summary
Merged new upstream version: 0.16.3 (was: 0.16.2).
Resulting package
Built on 2023-01-04T18:39 (took 16m3s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases libode-devapt install -t fresh-releases libode8-dbgsymapt install -t fresh-releases libode8
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b105b9a..c45bdce 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,7 +9,7 @@ include(GNUInstallDirs)
set(VERSION_MAJOR 0)
set(VERSION_MINOR 16)
-set(VERSION_PATCH 2)
+set(VERSION_PATCH 3)
set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
option(BUILD_SHARED_LIBS "Build shared libraries." ON)
@@ -518,6 +518,12 @@ target_compile_definitions(
if(APPLE)
target_compile_definitions(ODE PRIVATE -DMAC_OS_X_VERSION=${MAC_OS_X_VERSION})
+ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ find_library(CORESERVICES_FW NAMES CoreServices)
+ if (CORESERVICES_FW)
+ target_link_libraries(ODE PRIVATE ${CORESERVICES_FW})
+ endif()
+ endif()
endif()
if(WIN32)
@@ -670,6 +676,8 @@ configure_file(ode-config.in ode-config @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ode.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT development)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/ode-config DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT development)
+unset(DRAWSTUFF_RSRC)
+
if(ODE_WITH_DEMOS)
set(
DRAWSTUFF_SRCS
@@ -680,11 +688,12 @@ if(ODE_WITH_DEMOS)
)
if(WIN32)
+ set(DRAWSTUFF_RSRC drawstuff/src/resources.rc)
list(
APPEND DRAWSTUFF_SRCS
drawstuff/src/resource.h
- drawstuff/src/resources.rc
drawstuff/src/windows.cpp
+ ${DRAWSTUFF_RSRC}
)
elseif(APPLE)
list(APPEND DRAWSTUFF_SRCS drawstuff/src/osx.cpp)
@@ -717,7 +726,7 @@ if(ODE_WITH_DEMOS)
endif()
set(
- DEMO_SRCS
+ ALL_DEMO_SRCS
ode/demo/demo_boxstack.cpp
ode/demo/demo_buggy.cpp
ode/demo/demo_cards.cpp
@@ -755,7 +764,7 @@ if(ODE_WITH_DEMOS)
if(NOT ODE_NO_TRIMESH)
list(
- APPEND DEMO_SRCS
+ APPEND ALL_DEMO_SRCS
ode/demo/demo_basket.cpp
ode/demo/demo_cyl.cpp
ode/demo/demo_moving_convex.cpp
@@ -765,12 +774,31 @@ if(ODE_WITH_DEMOS)
)
endif()
- foreach(DEMO_SRC ${DEMO_SRCS})
- get_filename_component(DEMO ${DEMO_SRC} NAME_WE)
- add_executable(${DEMO} ${DEMO_SRC})
+ foreach(MAIN_DEMO_SRC ${ALL_DEMO_SRCS})
+ get_filename_component(DEMO ${MAIN_DEMO_SRC} NAME_WE)
+ set(
+ DEMO_SRC
+ ${MAIN_DEMO_SRC}
+ )
+
+ if(NOT WIN32 OR ${DEMO} STREQUAL "demo_ode")
+ add_executable(${DEMO} ${DEMO_SRC})
+ else()
+ if(NOT BUILD_SHARED_LIBS)
+ list(
+ APPEND DEMO_SRC
+ ${DRAWSTUFF_RSRC}
+ )
+ endif()
+
+ add_executable(${DEMO} WIN32 ${DEMO_SRC})
+ if(WIN32 AND MSVC)
+ set_target_properties(${DEMO} PROPERTIES LINK_FLAGS /ENTRY:mainCRTStartup)
+ endif()
+ endif()
target_link_libraries(${DEMO} drawstuff)
- if(NOT WIN32 AND ${DEMO} MATCHES "demo_chain1")
+ if(NOT WIN32 AND ${DEMO} STREQUAL "demo_chain1")
target_link_libraries(${DEMO} m)
endif()
endforeach()
diff --git a/build/config-default.h b/build/config-default.h
index a51e309..7831235 100644
--- a/build/config-default.h
+++ b/build/config-default.h
@@ -67,7 +67,7 @@
#define ODE_PLATFORM_PSP
#elif defined(SN_TARGET_PS3)
#define ODE_PLATFORM_PS3
-#elif defined(_MSC_VER) || defined(__CYGWIN32__) || defined(__MINGW32__)
+#elif defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__)
#define ODE_PLATFORM_WINDOWS
#elif defined(__linux__)
#define ODE_PLATFORM_LINUX
@@ -82,7 +82,7 @@
#define WIN32
#endif
-#if defined(__CYGWIN32__) || defined(__MINGW32__)
+#if defined(__CYGWIN__) || defined(__MINGW32__)
#define CYGWIN
#endif
diff --git a/build/premake4.lua b/build/premake4.lua
index 4922688..faa9e87 100644
--- a/build/premake4.lua
+++ b/build/premake4.lua
@@ -4,7 +4,7 @@
-- For more information on Premake: http://industriousone.com/premake
----------------------------------------------------------------------
- ode_version = "0.16.2"
+ ode_version = "0.16.3
----------------------------------------------------------------------
-- Demo list: add/remove demos from here and the rest of the build
diff --git a/config.h.cmake.in b/config.h.cmake.in
index d2f9599..6016f67 100644
--- a/config.h.cmake.in
+++ b/config.h.cmake.in
@@ -65,7 +65,7 @@
#define ODE_PLATFORM_PSP
#elif defined(SN_TARGET_PS3)
#define ODE_PLATFORM_PS3
-#elif defined(_MSC_VER) || defined(__CYGWIN32__) || defined(__MINGW32__)
+#elif defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__)
#define ODE_PLATFORM_WINDOWS
#elif defined(__linux__)
#define ODE_PLATFORM_LINUX
@@ -80,7 +80,7 @@
#define WIN32
#endif
-#if defined(__CYGWIN32__) || defined(__MINGW32__)
+#if defined(__CYGWIN__) || defined(__MINGW32__)
#define CYGWIN
#endif
diff --git a/configure b/configure
index bc3d686..c23af25 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ODE 0.16.2.
+# Generated by GNU Autoconf 2.69 for ODE 0.16.3.
#
# Report bugs to <ode@ode.org>.
#
@@ -589,8 +589,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ODE'
PACKAGE_TARNAME='ode'
-PACKAGE_VERSION='0.16.2'
-PACKAGE_STRING='ODE 0.16.2'
+PACKAGE_VERSION='0.16.3'
+PACKAGE_STRING='ODE 0.16.3'
PACKAGE_BUGREPORT='ode@ode.org'
PACKAGE_URL=''
@@ -1426,7 +1426,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ODE 0.16.2 to adapt to many kinds of systems.
+\`configure' configures ODE 0.16.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1497,7 +1497,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ODE 0.16.2:";;
+ short | recursive ) echo "Configuration of ODE 0.16.3:";;
esac
cat <<\_ACEOF
@@ -1662,7 +1662,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ODE configure 0.16.2
+ODE configure 0.16.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2336,7 +2336,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ODE $as_me 0.16.2, which was
+It was created by ODE $as_me 0.16.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2684,7 +2684,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-ODE_VERSION=0.16.2
+ODE_VERSION=0.16.3
# Those are instructions from the Libtool manual:
@@ -2707,7 +2707,7 @@ ODE_VERSION=0.16.2
# 6. If any interfaces have been removed since the last public release,
# then set AGE to 0.
CURRENT=8
-REVISION=2
+REVISION=3
AGE=0
# Check whether --enable-version-info was given.
@@ -3316,7 +3316,7 @@ fi
# Define the identity of the package.
PACKAGE='ode'
- VERSION='0.16.2'
+ VERSION='0.16.3'
cat >>confdefs.h <<_ACEOF
@@ -19355,7 +19355,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ODE $as_me 0.16.2, which was
+This file was extended by ODE $as_me 0.16.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19421,7 +19421,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ODE config.status 0.16.2
+ODE config.status 0.16.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 9a8c63f..88d5bad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
dnl AC_INIT does not take a macro as a version nr: set it separately! - Bram
-AC_INIT([ODE],[0.16.2],[ode@ode.org])
-ODE_VERSION=0.16.2
+AC_INIT([ODE],[0.16.3],[ode@ode.org])
+ODE_VERSION=0.16.3
AC_SUBST(ODE_VERSION)
# Those are instructions from the Libtool manual:
@@ -23,7 +23,7 @@ AC_SUBST(ODE_VERSION)
# 6. If any interfaces have been removed since the last public release,
# then set AGE to 0.
CURRENT=8
-REVISION=2
+REVISION=3
AGE=0
AC_ARG_ENABLE(version-info,
diff --git a/debian/changelog b/debian/changelog
index ea585cc..867a5d1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+ode (2:0.16.3-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Wed, 04 Jan 2023 18:25:43 -0000
+
ode (2:0.16.2-1) unstable; urgency=medium
* New upstream version. Fix some issues by upstream.
diff --git a/include/ode/precision.h b/include/ode/precision.h
index 456fc36..af81c10 100644
--- a/include/ode/precision.h
+++ b/include/ode/precision.h
@@ -10,7 +10,7 @@
#elif defined(dIDEDOUBLE)
#define dDOUBLE
#else
-#define dSINGLE
+#define dDOUBLE
#endif
#endif
diff --git a/include/ode/version.h b/include/ode/version.h
index 312a38c..8c2e489 100644
--- a/include/ode/version.h
+++ b/include/ode/version.h
@@ -1,6 +1,6 @@
#ifndef _ODE_VERSION_H_
#define _ODE_VERSION_H_
-#define dODE_VERSION "0.16.2"
+#define dODE_VERSION "0.16.3"
#endif
diff --git a/ode/doc/Makefile.in b/ode/doc/Makefile.in
index c0dcddf..f031226 100644
--- a/ode/doc/Makefile.in
+++ b/ode/doc/Makefile.in
@@ -374,8 +374,8 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-@HAVE_DOXYGEN_FALSE@mostlyclean-local:
@HAVE_DOXYGEN_FALSE@html-local:
+@HAVE_DOXYGEN_FALSE@mostlyclean-local:
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
diff --git a/ode/src/lcp.cpp b/ode/src/lcp.cpp
index 58db0bd..550c9e2 100644
--- a/ode/src/lcp.cpp
+++ b/ode/src/lcp.cpp
@@ -378,10 +378,10 @@ struct dLCP {
int *const m_findex;
unsigned *const m_p, *const m_C;
- dLCP (unsigned _n, unsigned _nskip, unsigned _nub, dReal *_Adata, dReal *_pairsbx, dReal *_w,
- dReal *_pairslh, dReal *_L, dReal *_d,
- dReal *_Dell, dReal *_ell, dReal *_tmp,
- bool *_state, int *_findex, unsigned *_p, unsigned *_C, dReal **Arows);
+ dLCP (unsigned n, unsigned nskip, unsigned nub, dReal *Adata, dReal *pairsbx, dReal *w,
+ dReal *pairslh, dReal *L, dReal *d,
+ dReal *Dell, dReal *ell, dReal *tmp,
+ bool *state, int *findex, unsigned *p, unsigned *C, dReal **Arows);
unsigned getNub() const { return m_nub; }
void transfer_i_to_C (unsigned i);
void transfer_i_to_N (unsigned /*i*/) { m_nN++; } // because we can assume C and N span 1:i-1
@@ -408,43 +408,38 @@ struct dLCP {
};
-dLCP::dLCP (unsigned _n, unsigned _nskip, unsigned _nub, dReal *_Adata, dReal *_pairsbx, dReal *_w,
- dReal *_pairslh, dReal *_L, dReal *_d,
- dReal *_Dell, dReal *_ell, dReal *_tmp,
- bool *_state, int *_findex, unsigned *_p, unsigned *_C, dReal **Arows):
- m_n(_n), m_nskip(_nskip), m_nub(_nub), m_nC(0), m_nN(0),
+dLCP::dLCP (unsigned n, unsigned nskip, unsigned nub, dReal *Adata, dReal *pairsbx, dReal *w,
+ dReal *pairslh, dReal *L, dReal *d,
+ dReal *Dell, dReal *ell, dReal *tmp,
+ bool *state, int *findex, unsigned *p, unsigned *C, dReal **Arows):
+ m_n(n), m_nskip(nskip), m_nub(nub), m_nC(0), m_nN(0),
# ifdef ROWPTRS
m_A(Arows),
#else
- m_A(_Adata),
+ m_A(Adata),
#endif
- m_pairsbx(_pairsbx), m_w(_w), m_pairslh(_pairslh),
- m_L(_L), m_d(_d), m_Dell(_Dell), m_ell(_ell), m_tmp(_tmp),
- m_state(_state), m_findex(_findex), m_p(_p), m_C(_C)
+ m_pairsbx(pairsbx), m_w(w), m_pairslh(pairslh),
+ m_L(L), m_d(d), m_Dell(Dell), m_ell(ell), m_tmp(tmp),
+ m_state(state), m_findex(findex), m_p(p), m_C(C)
{
- dxtSetZero<PBX__MAX>(m_pairsbx + PBX_X, m_n);
+ dxtSetZero<PBX__MAX>(pairsbx + PBX_X, n);
{
# ifdef ROWPTRS
// make matrix row pointers
- dReal *aptr = _Adata;
+ dReal *aptr = Adata;
ATYPE A = m_A;
- const unsigned n = m_n, nskip = m_nskip;
for (unsigned k=0; k<n; aptr+=nskip, ++k) A[k] = aptr;
# endif
}
{
- unsigned *p = m_p;
- const unsigned n = m_n;
for (unsigned k=0; k != n; ++k) p[k] = k; // initially unpermutted
}
/*
// for testing, we can do some random swaps in the area i > nub
{
- const unsigned n = m_n;
- const unsigned nub = m_nub;
if (nub < n) {
for (unsigned k=0; k<100; k++) {
unsigned i1,i2;
@@ -468,48 +463,42 @@ dLCP::dLCP (unsigned _n, unsigned _nskip, unsigned _nub, dReal *_Adata, dReal *_
// if lo=-inf and hi=inf - this is because these limits may change during the
// solution process.
+ unsigned currNub = nub;
{
- int *findex = m_findex;
- dReal *pairslh = m_pairslh;
- const unsigned n = m_n;
- for (unsigned k = m_nub; k < n; ++k) {
+ for (unsigned k = currNub; k < n; ++k) {
if (findex && findex[k] >= 0) continue;
if ((pairslh + (sizeint)k * PLH__MAX)[PLH_LO] == -dInfinity && (pairslh + (sizeint)k * PLH__MAX)[PLH_HI] == dInfinity) {
- swapProblem (m_A, m_pairsbx, m_w, pairslh, m_p, m_state, findex, n, m_nub, k, m_nskip, 0);
- m_nub++;
+ swapProblem (m_A, m_pairsbx, m_w, pairslh, m_p, m_state, findex, n, currNub, k, nskip, 0);
+ m_nub = ++currNub;
}
}
}
// if there are unbounded variables at the start, factorize A up to that
- // point and solve for x. this puts all indexes 0..nub-1 into C.
- if (m_nub > 0) {
- const unsigned nub = m_nub;
+ // point and solve for x. this puts all indexes 0..currNub-1 into C.
+ if (currNub > 0) {
{
dReal *Lrow = m_L;
- const unsigned nskip = m_nskip;
- for (unsigned j = 0; j < nub; Lrow += nskip, ++j) memcpy(Lrow, AROW(j), (j + 1) * sizeof(dReal));
+ for (unsigned j = 0; j < currNub; Lrow += nskip, ++j) memcpy(Lrow, AROW(j), (j + 1) * sizeof(dReal));
}
- transfer_b_to_x<false> (m_pairsbx, nub);
- factorMatrixAsLDLT<1> (m_L, m_d, nub, m_nskip);
- solveEquationSystemWithLDLT<1, PBX__MAX> (m_L, m_d, m_pairsbx + PBX_X, nub, m_nskip);
- dSetZero (m_w, nub);
+ transfer_b_to_x<false> (m_pairsbx, currNub);
+ factorMatrixAsLDLT<1> (m_L, m_d, currNub, nskip);
+ solveEquationSystemWithLDLT<1, PBX__MAX> (m_L, m_d, m_pairsbx + PBX_X, currNub, nskip);
+ dSetZero (m_w, currNub);
{
unsigned *C = m_C;
- for (unsigned k = 0; k < nub; ++k) C[k] = k;
+ for (unsigned k = 0; k < currNub; ++k) C[k] = k;
}
- m_nC = nub;
+ m_nC = currNub;
}
- // permute the indexes > nub such that all findex variables are at the end
- if (m_findex) {
- const unsigned nub = m_nub;
- int *findex = m_findex;
+ // permute the indexes > currNub such that all findex variables are at the end
+ if (findex) {
unsigned num_at_end = 0;
- for (unsigned k = m_n; k > nub; ) {
+ for (unsigned k = m_n; k > currNub; ) {
--k;
if (findex[k] >= 0) {
- swapProblem (m_A, m_pairsbx, m_w, m_pairslh, m_p, m_state, findex, m_n, k, m_n - 1 - num_at_end, m_nskip, 1);
+ swapProblem (m_A, m_pairsbx, m_w, m_pairslh, m_p, m_state, findex, m_n, k, m_n - 1 - num_at_end, nskip, 1);
num_at_end++;
}
}
@@ -518,10 +507,8 @@ dLCP::dLCP (unsigned _n, unsigned _nskip, unsigned _nub, dReal *_Adata, dReal *_
// print info about indexes
/*
{
- const unsigned n = m_n;
- const unsigned nub = m_nub;
for (unsigned k=0; k<n; k++) {
- if (k<nub) printf ("C");
+ if (k<currNub) printf ("C");
else if ((m_pairslh + (sizeint)k * PLH__MAX)[PLH_LO] == -dInfinity && (m_pairslh + (sizeint)k * PLH__MAX)[PLH_HI] == dInfinity) printf ("c");
else printf (".");
}
diff --git a/ode/src/timer.cpp b/ode/src/timer.cpp
index 4f3434a..aae1420 100644
--- a/ode/src/timer.cpp
+++ b/ode/src/timer.cpp
@@ -42,7 +42,7 @@ TODO
//****************************************************************************
// implementation for windows based on the multimedia performance counter.
-#ifdef WIN32
+#ifdef _WIN32
#include "windows.h"
@@ -88,7 +88,6 @@ double dTimerTicksPerSecond()
return hz;
}
-#endif
//****************************************************************************
// implementation based on the pentium time stamp counter. the timer functions
@@ -96,7 +95,7 @@ double dTimerTicksPerSecond()
// instructions have executed and data has been written back before the cpu
// time stamp counter is read. the CPUID instruction is used to serialize.
-#if defined(PENTIUM) && !defined(WIN32)
+#elif defined(PENTIUM)
// we need to know the clock rate so that the timing function can report
// accurate times. this number only needs to be set accurately if we're
@@ -169,31 +168,63 @@ double dTimerTicksPerSecond()
return PENTIUM_HZ;
}
-#endif
//****************************************************************************
-// otherwise, do the implementation based on gettimeofday().
-
-#if !defined(PENTIUM) && !defined(WIN32)
+// Implementation based on OSX mach_absolute_time()
-#ifndef macintosh
+#elif defined(__APPLE__) && defined(__MACH__)
-#include <sys/time.h>
+#include <CoreServices/CoreServices.h>
+#include <mach/mach.h>
+#include <mach/mach_time.h>
#include <unistd.h>
-
static inline void getClockCount (unsigned long cc[2])
{
- struct timeval tv;
- gettimeofday (&tv,0);
- cc[0] = tv.tv_usec;
- cc[1] = tv.tv_sec;
+ uint64_t absTime = mach_absolute_time();
+ cc[1] = (uint32_t)((absTime >> 32) & 0xFFFFFFFF);
+ cc[0] = (uint32_t)(absTime & 0xFFFFFFFF);
+}
+
+static inline void serialize()
+{
+}
+
+
+static inline double loadClockCount (unsigned long a[2])
+{
+ uint64_t absTime = (uint64_t)(a[0] | ((uint64_t)a[1] << 32));
+
+ mach_timebase_info_data_t timeInfo;
+ double resultTime = mach_timebase_info(&timeInfo) == 0 ? absTime * ((double)timeInfo.numer / timeInfo.denom) : 0.0;
+
+ return resultTime;
+}
+
+double dTimerResolution()
+{
+ mach_timebase_info_data_t timeInfo;
+ double nanoResolution = 1e-9;
+ double resultResolution = mach_timebase_info(&timeInfo) == 0 ? nanoResolution * ((double)timeInfo.numer / timeInfo.denom) : nanoResolution;
+
+ return resultResolution;
+}
+
+double dTimerTicksPerSecond()
+{
+ return 1e9;
}
-#else // macintosh
+
+//****************************************************************************
+// Otherwise, do the implementation based on Macintosh Microseconds
+// or POSIX gettimeofday().
+
+#else
+
+#if defined(macintosh)
#include <CoreServices/CoreServices.h>
-#include <ode/Timer.h>
static inline void getClockCount (unsigned long cc[2])
{
@@ -203,7 +234,21 @@ static inline void getClockCount (unsigned long cc[2])
cc[0] = ms.lo - ( cc[1] * 1000000 );
}
-#endif
+
+#else // POSIX
+
+#include <sys/time.h>
+#include <unistd.h>
+
+static inline void getClockCount (unsigned long cc[2])
+{
+ struct timeval tv;
+ gettimeofday (&tv,0);
+ cc[0] = tv.tv_usec;
+ cc[1] = tv.tv_sec;
+}
+
+#endif // POSIX
static inline void serialize()
diff --git a/ou/include/ou/atomic.h b/ou/include/ou/atomic.h
index 2f90a70..56c6edb 100644
--- a/ou/include/ou/atomic.h
+++ b/ou/include/ou/atomic.h
@@ -574,8 +574,16 @@ static _OU_ALWAYSINLINE bool _OU_CONVENTION_API
#define __OU_ATOMIC_READREORDERBARRIER_FUNCTION_DEFINED
+
+END_NAMESPACE_OU();
+
+
#include <intrin.h>
+
+BEGIN_NAMESPACE_OU();
+
+
static _OU_ALWAYSINLINE void _OU_CONVENTION_API
/*void */AtomicReadReorderBarrier()
{
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/lib/debug/.build-id/c8/3a4548c2d4300f01216e4d009c4111ee8a78e4.debug -rw-r--r-- root/root /usr/lib/x86_64-linux-gnu/libode.so.8.0.3 lrwxrwxrwx root/root /usr/lib/x86_64-linux-gnu/libode.so -> libode.so.8.0.3 lrwxrwxrwx root/root /usr/lib/x86_64-linux-gnu/libode.so.8 -> libode.so.8.0.3
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/lib/debug/.build-id/28/91694f3452bf0dd2d4dc26bca5e440acb9142c.debug -rw-r--r-- root/root /usr/lib/x86_64-linux-gnu/libode.so.8.0.2 lrwxrwxrwx root/root /usr/lib/x86_64-linux-gnu/libode.so -> libode.so.8.0.2 lrwxrwxrwx root/root /usr/lib/x86_64-linux-gnu/libode.so.8 -> libode.so.8.0.2
No differences were encountered between the control files of package libode-dev
No differences were encountered between the control files of package libode8
Control files of package libode8-dbgsym: lines which differ (wdiff format)
Build-Ids: 2891694f3452bf0dd2d4dc26bca5e440acb9142c c83a4548c2d4300f01216e4d009c4111ee8a78e4