Diff of the two buildlogs:

--
--- b1/build.log	2025-03-06 17:49:03.353689496 +0000
+++ b2/build.log	2025-03-06 17:49:56.403292601 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Thu Mar  6 05:46:10 -12 2025
-I: pbuilder-time-stamp: 1741283170
+I: Current time: Thu Apr  9 14:12:04 +14 2026
+I: pbuilder-time-stamp: 1775693524
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
 I: copying local configuration
@@ -25,52 +25,84 @@
 dpkg-source: info: applying gcc-11.patch
 I: using fakeroot in build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/1156329/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/D01_modify_environment starting
+debug: Running on ionos15-amd64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Apr  9 00:12 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='amd64'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 '
-  DISTRIBUTION='trixie'
-  HOME='/root'
-  HOST_ARCH='amd64'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=amd64
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 '
+  DIRSTACK=()
+  DISTRIBUTION=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=x86_64
+  HOST_ARCH=amd64
   IFS=' 	
   '
-  INVOCATION_ID='0a9f82675022425dadf1741cc5bf211e'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='1156329'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=6b8032386c044d29a79e4a28d3e1c47a
+  LANG=C
+  LANGUAGE=et_EE:et
+  LC_ALL=C
+  MACHTYPE=x86_64-pc-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=419113
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.pvhBmhMy/pbuilderrc_xlCz --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.pvhBmhMy/b1 --logfile b1/build.log libloki_0.1.7-6.dsc'
-  SUDO_GID='111'
-  SUDO_UID='106'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://46.16.76.132:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.pvhBmhMy/pbuilderrc_yLNT --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.pvhBmhMy/b2 --logfile b2/build.log libloki_0.1.7-6.dsc'
+  SUDO_GID=111
+  SUDO_UID=106
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://213.165.73.152:3128
 I: uname -a
-  Linux ionos11-amd64 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/1156329/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -136,7 +168,7 @@
 Get: 28 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
 Get: 29 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB]
 Get: 30 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.24.1 [920 kB]
-Fetched 20.6 MB in 6s (3705 kB/s)
+Fetched 20.6 MB in 2s (13.6 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package sensible-utils.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19800 files and directories currently installed.)
@@ -276,7 +308,11 @@
 fakeroot is already the newest version (1.37-1).
 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 I: Building the package
-I: Running cd /build/reproducible-path/libloki-0.1.7/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../libloki_0.1.7-6_source.changes
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/libloki-0.1.7/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../libloki_0.1.7-6_source.changes
 dpkg-buildpackage: info: source package libloki
 dpkg-buildpackage: info: source version 0.1.7-6
 dpkg-buildpackage: info: source distribution unstable
@@ -286,7 +322,7 @@
  debian/rules clean
 dh clean
    dh_auto_clean
-	make -j20 distclean
+	make -j42 distclean
 make[1]: Entering directory '/build/reproducible-path/libloki-0.1.7'
 make -C src clean
 make[2]: Entering directory '/build/reproducible-path/libloki-0.1.7/src'
@@ -299,129 +335,129 @@
 make -C DeletableSingleton clean
 make -C Factory clean
 make -C Function clean
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/CachedFactory'
 make -C LockingPtr clean
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/DeletableSingleton'
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/CachedFactory'
 make -C Longevity clean
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Factory'
 make -C OrderedStatic clean
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Function'
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/LockingPtr'
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Longevity'
 make -C Pimpl clean
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/OrderedStatic'
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/LockingPtr'
 make -C Register clean
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Longevity'
 make -C RegressionTest clean
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Pimpl'
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Register'
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/OrderedStatic'
 make -C SafeFormat clean
 make -C ScopeGuard clean
-rm -f -R .static-dep
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Pimpl'
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Register'
 make -C Singleton clean
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/RegressionTest'
-rm -f -R .static-dep
 rm -f -R .static-dep
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SafeFormat'
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/ScopeGuard'
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/RegressionTest'
 rm -f -R .static-dep
 make -C SingletonDll clean
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SafeFormat'
 make -C SmallObj clean
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Singleton'
-rm -f -R .static-dep
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/ScopeGuard'
 rm -f -R .static-dep
-make -C SmartPtr clean
-rm -f -R .shared-dep
 rm -f -R .shared-dep
+make -C SmartPtr clean
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Singleton'
 rm -f -R .shared-dep
+rm -f -R .static-dep
+make -C Visitor clean
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SingletonDll'
-rm -f -R .shared-dep
-rm -f Factory
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SmallObj'
 rm -f -R .static-dep
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SmartPtr'
+rm -f CachedFactoryTest
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SmallObj'
 rm -f DeletableSingleton
-make -C Visitor clean
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SmartPtr'
+rm -f -R .static-dep
 rm -f -R .static-dep
-rm -f Factory.o
-rm -f FunctionTest
 rm -f -R .shared-dep
 rm -f -R .shared-dep
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Factory'
+make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Visitor'
+rm -f CachedFactoryTest.o
 rm -f -R .static-dep
 rm -f -R .shared-dep
-rm -f FunctionTest.o
-rm -f CachedFactoryTest
-make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Visitor'
+rm -f -R .static-dep
 rm -f DeletableSingleton.o
+rm -f -R .shared-dep
+rm -f -R .shared-dep
+rm -f FunctionTest
 rm -f main
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/CachedFactory'
 rm -f -R .static-dep
-rm -f CachedFactoryTest.o
-rm -f main
+rm -f -R .static-dep
+rm -f Factory
 rm -f -R .shared-dep
 make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/DeletableSingleton'
+rm -f -R .static-dep
 rm -f -R .shared-dep
+rm -f -R .static-dep
 rm -f main
 rm -f main.o
-rm -f -R .static-dep
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Function'
-rm -f -R .static-dep
+rm -f FunctionTest.o
 rm -f main
 rm -f -R .shared-dep
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/CachedFactory'
+rm -f -R .shared-dep
+rm -f Factory.o
+rm -f main
 rm -f main
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/LockingPtr'
 rm -f -R .shared-dep
-rm -f main.o
-rm -f main.o
-rm -f Test
-rm -f main.o
-rm -f -R .static-dep
 rm -f -R .shared-dep
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/ScopeGuard'
 rm -f -R .static-dep
+rm -f main.o
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Function'
+rm -f -R .static-dep
+rm -f main.o
 rm -f main
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/LockingPtr'
+rm -f main
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Factory'
+rm -f Dependencies
 rm -f main.o
+rm -f Test
 make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/OrderedStatic'
-rm -f Test.o
-rm -f -R .static-dep
 rm -f -R .shared-dep
+rm -f main.o
+rm -f -R .static-dep
 rm -f main2
-rm -f libfoo.a
-rm -f Dependencies
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/RegressionTest'
-rm -f -R .shared-dep
 rm -f main.o
 rm -f -R .shared-dep
-rm -f SmallObjBench
-rm -f -R .static-dep
-rm -f foo.o
+rm -f main.o
 rm -f Dependencies.o
+rm -f libfoo.a
 make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Pimpl'
-rm -f main2.o
-rm -f SmallObjBench.o
+rm -f -R .static-dep
+rm -f Test.o
+rm -f SmallObjBench
 rm -f main
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Register'
+rm -f main2.o
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/ScopeGuard'
+rm -f -R .shared-dep
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SafeFormat'
+rm -f foo.o
 rm -f -R .shared-dep
 rm -f Phoenix
-rm -f main.o
-rm -f SmallObjSingleton
-rm -f main
+rm -f SmallObjBench.o
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Longevity'
+rm -f main.o strong.o LockTest.o
 rm -f main
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Register'
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/RegressionTest'
 rm -f Phoenix.o
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Visitor'
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Longevity'
-rm -f SmallObjSingleton.o
+rm -f client
+rm -f SmallObjSingleton
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmartPtr'
 rm -f main.o
-rm -f main.o strong.o LockTest.o
 make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Singleton'
-rm -f -R .static-dep
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmallObj'
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmartPtr'
-rm -f -R .shared-dep
-rm -f client
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SafeFormat'
 rm -f client.o
+rm -f SmallObjSingleton.o
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Visitor'
 rm -f libfoo.so
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmallObj'
 rm -f foo.lo
 rm -f libsingletondll.so
 rm -f singletondll.lo
@@ -446,38 +482,38 @@
    debian/rules override_dh_auto_build
 make[1]: Entering directory '/build/reproducible-path/libloki-0.1.7'
 dh_auto_build -- OS=Linux build-static build-shared CXXFLAGS="-g -O2 -ffile-prefix-map=/build/reproducible-path/libloki-0.1.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection"
-	make -j20 "INSTALL=install --strip-program=true" OS=Linux build-static build-shared "CXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/libloki-0.1.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection"
+	make -j42 "INSTALL=install --strip-program=true" OS=Linux build-static build-shared "CXXFLAGS=-g -O2 -ffile-prefix-map=/build/reproducible-path/libloki-0.1.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection"
 make[2]: Entering directory '/build/reproducible-path/libloki-0.1.7'
 make -C src build-static
 make -C src build-shared
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/src'
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/src'
 g++ -MM -MT LevelMutex.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG LevelMutex.cpp > .static-dep/LevelMutex.dep
-g++ -MM -MT OrderedStatic.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG OrderedStatic.cpp > .static-dep/OrderedStatic.dep
 g++ -MM -MT LevelMutex.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG LevelMutex.cpp > .static-dep/LevelMutex.dep
-g++ -MM -MT SafeFormat.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SafeFormat.cpp > .static-dep/SafeFormat.dep
 g++ -MM -MT OrderedStatic.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG OrderedStatic.cpp > .static-dep/OrderedStatic.dep
+g++ -MM -MT OrderedStatic.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG OrderedStatic.cpp > .static-dep/OrderedStatic.dep
+g++ -MM -MT SafeFormat.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SafeFormat.cpp > .static-dep/SafeFormat.dep
 g++ -MM -MT SafeFormat.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SafeFormat.cpp > .static-dep/SafeFormat.dep
 g++ -MM -MT Singleton.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG Singleton.cpp > .static-dep/Singleton.dep
 g++ -MM -MT Singleton.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG Singleton.cpp > .static-dep/Singleton.dep
 g++ -MM -MT SmallObj.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmallObj.cpp > .static-dep/SmallObj.dep
+g++ -MM -MT SmallObj.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmallObj.cpp > .static-dep/SmallObj.dep
 g++ -MM -MT SmartPtr.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmartPtr.cpp > .static-dep/SmartPtr.dep
+g++ -MM -MT SmartPtr.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmartPtr.cpp > .static-dep/SmartPtr.dep
+g++ -MM -MT StrongPtr.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG StrongPtr.cpp > .static-dep/StrongPtr.dep
 g++ -MM -MT StrongPtr.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG StrongPtr.cpp > .static-dep/StrongPtr.dep
 g++ -MM -MT LevelMutex.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG LevelMutex.cpp > .shared-dep/LevelMutex.dep
+g++ -MM -MT LevelMutex.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG LevelMutex.cpp > .shared-dep/LevelMutex.dep
+g++ -MM -MT OrderedStatic.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG OrderedStatic.cpp > .shared-dep/OrderedStatic.dep
 g++ -MM -MT OrderedStatic.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG OrderedStatic.cpp > .shared-dep/OrderedStatic.dep
 g++ -MM -MT SafeFormat.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SafeFormat.cpp > .shared-dep/SafeFormat.dep
 g++ -MM -MT Singleton.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG Singleton.cpp > .shared-dep/Singleton.dep
+g++ -MM -MT SafeFormat.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SafeFormat.cpp > .shared-dep/SafeFormat.dep
 g++ -MM -MT SmallObj.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmallObj.cpp > .shared-dep/SmallObj.dep
 g++ -MM -MT SmartPtr.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmartPtr.cpp > .shared-dep/SmartPtr.dep
-g++ -MM -MT StrongPtr.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG StrongPtr.cpp > .shared-dep/StrongPtr.dep
-g++ -MM -MT SmallObj.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmallObj.cpp > .static-dep/SmallObj.dep
-g++ -MM -MT SmartPtr.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmartPtr.cpp > .static-dep/SmartPtr.dep
-g++ -MM -MT StrongPtr.o -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG StrongPtr.cpp > .static-dep/StrongPtr.dep
-g++ -MM -MT LevelMutex.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG LevelMutex.cpp > .shared-dep/LevelMutex.dep
-g++ -MM -MT OrderedStatic.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG OrderedStatic.cpp > .shared-dep/OrderedStatic.dep
-g++ -MM -MT SafeFormat.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SafeFormat.cpp > .shared-dep/SafeFormat.dep
 g++ -MM -MT Singleton.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG Singleton.cpp > .shared-dep/Singleton.dep
 g++ -MM -MT SmallObj.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmallObj.cpp > .shared-dep/SmallObj.dep
+g++ -MM -MT StrongPtr.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG StrongPtr.cpp > .shared-dep/StrongPtr.dep
 g++ -MM -MT SmartPtr.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG SmartPtr.cpp > .shared-dep/SmartPtr.dep
 g++ -MM -MT StrongPtr.lo -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG StrongPtr.cpp > .shared-dep/StrongPtr.dep
 g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/libloki-0.1.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG  -c -o LevelMutex.o LevelMutex.cpp
@@ -494,10 +530,17 @@
 g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/libloki-0.1.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG -o SmallObj.lo SmallObj.cpp
 g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/libloki-0.1.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG -o SmartPtr.lo SmartPtr.cpp
 g++ -c -g -O2 -ffile-prefix-map=/build/reproducible-path/libloki-0.1.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I../include -DNDEBUG -o StrongPtr.lo StrongPtr.cpp
-In file included from ../include/loki/SmallObj.h:23,
-                 from ../include/loki/SmartPtr.h:33,
-                 from ../include/loki/StrongPtr.h:20,
-                 from StrongPtr.cpp:16:
+In file included from Singleton.cpp:19:
+../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
+../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  158 |         std::auto_ptr<LifetimeTracker>
+      |              ^~~~~~~~
+In file included from /usr/include/c++/14/memory:78,
+                 from ../include/loki/Singleton.h:30:
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+In file included from Singleton.cpp:19:
 ../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -507,16 +550,6 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-../include/loki/SmartPtr.h: At global scope:
-../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
-      |                  ^~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/string:49,
-                 from /usr/include/c++/14/stdexcept:39,
-                 from ../include/loki/Singleton.h:24:
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
 In file included from ../include/loki/SmallObj.h:23,
                  from ../include/loki/SmartPtr.h:33,
                  from SmartPtr.cpp:20:
@@ -529,7 +562,10 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from Singleton.cpp:19:
+In file included from ../include/loki/SmallObj.h:23,
+                 from ../include/loki/SmartPtr.h:33,
+                 from ../include/loki/StrongPtr.h:20,
+                 from StrongPtr.cpp:16:
 ../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -539,12 +575,6 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-../include/loki/StrongPtr.h:1681:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1681 |         : public binary_function<
-      |                  ^~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
 In file included from ../include/loki/SmallObj.h:23,
                  from SmallObj.cpp:19:
 ../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
@@ -558,8 +588,7 @@
       |                            ^~~~~~~~
 In file included from ../include/loki/SmallObj.h:23,
                  from ../include/loki/SmartPtr.h:33,
-                 from ../include/loki/StrongPtr.h:20,
-                 from StrongPtr.cpp:16:
+                 from SmartPtr.cpp:20:
 ../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -569,7 +598,8 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from Singleton.cpp:19:
+In file included from ../include/loki/SmallObj.h:23,
+                 from SmallObj.cpp:19:
 ../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -579,18 +609,10 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-../include/loki/SmartPtr.h: At global scope:
-../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
-      |                  ^~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/string:49,
-                 from /usr/include/c++/14/stdexcept:39,
-                 from ../include/loki/Singleton.h:24:
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
 In file included from ../include/loki/SmallObj.h:23,
-                 from SmallObj.cpp:19:
+                 from ../include/loki/SmartPtr.h:33,
+                 from ../include/loki/StrongPtr.h:20,
+                 from StrongPtr.cpp:16:
 ../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -600,9 +622,8 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from ../include/loki/SmallObj.h:23,
-                 from ../include/loki/SmartPtr.h:33,
-                 from SmartPtr.cpp:20:
+In file included from ../include/loki/OrderedStatic.h:22,
+                 from OrderedStatic.cpp:16:
 ../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -633,17 +654,16 @@
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
-In file included from ../include/loki/OrderedStatic.h:22,
-                 from OrderedStatic.cpp:16:
-../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
-../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  158 |         std::auto_ptr<LifetimeTracker>
-      |              ^~~~~~~~
-In file included from /usr/include/c++/14/memory:78,
-                 from ../include/loki/Singleton.h:30:
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
+../include/loki/SmartPtr.h: At global scope:
+../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
+      |                  ^~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/string:49,
+                 from /usr/include/c++/14/stdexcept:39,
+                 from ../include/loki/Singleton.h:24:
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
 ../include/loki/StrongPtr.h:1681:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  1681 |         : public binary_function<
       |                  ^~~~~~~~~~~~~~~
@@ -660,6 +680,22 @@
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
+../include/loki/SmartPtr.h: At global scope:
+../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
+      |                  ^~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/string:49,
+                 from /usr/include/c++/14/stdexcept:39,
+                 from ../include/loki/Singleton.h:24:
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
+../include/loki/StrongPtr.h:1681:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1681 |         : public binary_function<
+      |                  ^~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
 g++ -Wl,-z,relro --shared -Wl,-soname=libloki.so.0.1.7 -fPIC -o ../lib/libloki.so.0.1.7 LevelMutex.lo OrderedStatic.lo SafeFormat.lo Singleton.lo SmallObj.lo SmartPtr.lo StrongPtr.lo -lpthread
 ar -rv ../lib/libloki.a LevelMutex.o OrderedStatic.o SafeFormat.o Singleton.o SmallObj.o SmartPtr.o StrongPtr.o
 ar: creating ../lib/libloki.a
@@ -677,16 +713,16 @@
    debian/rules override_dh_auto_test
 make[1]: Entering directory '/build/reproducible-path/libloki-0.1.7'
 dh_auto_test -- OS=Linux
-	make -j20 check OS=Linux
+	make -j42 check OS=Linux
 make[2]: Entering directory '/build/reproducible-path/libloki-0.1.7'
 make -C src build-static
 make -C src build-shared
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/src'
+make[3]: Nothing to be done for 'build-static'.
+make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/src'
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/src'
 make[3]: Nothing to be done for 'build-shared'.
 make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/src'
-make[3]: Nothing to be done for 'build-static'.
-make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/src'
 make -C test
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/test'
 make -C CachedFactory
@@ -696,51 +732,149 @@
 make -C LockingPtr
 make -C Longevity
 make -C OrderedStatic
+make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/CachedFactory'
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o CachedFactoryTest.o CachedFactoryTest.cpp
 make -C Pimpl
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/DeletableSingleton'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o DeletableSingleton.o DeletableSingleton.cpp
-make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/CachedFactory'
-make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Function'
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o FunctionTest.o FunctionTest.cpp
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o CachedFactoryTest.o CachedFactoryTest.cpp
 make -C Register
+make -C RegressionTest
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Factory'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o Factory.o Factory.cpp
-make -C RegressionTest
+make -C SafeFormat
+make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Function'
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o FunctionTest.o FunctionTest.cpp
+make -C ScopeGuard
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/LockingPtr'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Longevity'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -fexpensive-optimizations -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
-make -C SafeFormat
-make -C ScopeGuard
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -fexpensive-optimizations -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main2.o main2.cpp
 make -C Singleton
-make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Register'
+make -C SingletonDll
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -fexpensive-optimizations -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main2.o main2.cpp
+make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/OrderedStatic'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
+make -C SmallObj
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Pimpl'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
-make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/OrderedStatic'
+make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Register'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
-make -C SingletonDll
+make -C SmartPtr
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o foo.o foo.cpp
+make -C Visitor
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/RegressionTest'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o Test.o Test.cpp
-make -C SmallObj
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SafeFormat'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -fexpensive-optimizations -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
-make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Singleton'
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o Dependencies.o Dependencies.cpp
-make -C SmartPtr
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o Phoenix.o Phoenix.cpp
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/ScopeGuard'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
+make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Singleton'
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o Dependencies.o Dependencies.cpp
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SingletonDll'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o client.o client.cpp
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o Phoenix.o Phoenix.cpp
+g++ -c -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG -o foo.lo foo.cpp
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SmallObj'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -fexpensive-optimizations -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o SmallObjBench.o SmallObjBench.cpp
-g++ -c -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG -o foo.lo foo.cpp
 g++ -c -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG -o singletondll.lo singletondll.cpp
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -fexpensive-optimizations -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o SmallObjSingleton.o SmallObjSingleton.cpp
+make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/Visitor'
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
 make[4]: Entering directory '/build/reproducible-path/libloki-0.1.7/test/SmartPtr'
 g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o main.o main.cpp
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o strong.o strong.cpp
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o LockTest.o LockTest.cpp
+In file included from type.h:16,
+                 from main.cpp:24:
+../../include/loki/Pimpl.h: In destructor 'Loki::Pimpl<T, Pointer>::~Pimpl()':
+../../include/loki/Pimpl.h:93:26: warning: typedef 'T_must_be_defined' locally defined but not used [-Wunused-local-typedefs]
+   93 |             typedef char T_must_be_defined[sizeof(T) ? 1 : -1 ];
+      |                          ^~~~~~~~~~~~~~~~~
+In file included from ../../include/loki/SmallObj.h:22,
+                 from ../../include/loki/SmartPtr.h:33,
+                 from ../../include/loki/StrongPtr.h:20,
+                 from strong.cpp:22:
+../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
+  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
+      |                                                         ^~~
+../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
+  348 |         LOKI_THREADS_MUTEX(mtx_)
+      |         ^~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h:190:57: note: remove parentheses
+  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
+      |                                                         ^~~
+../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
+  348 |         LOKI_THREADS_MUTEX(mtx_)
+      |         ^~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
+../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  254 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
+../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  262 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
+../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  254 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
+../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  262 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+In file included from LockTest.cpp:37:
+../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
+  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
+      |                                                         ^~~
+../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
+  348 |         LOKI_THREADS_MUTEX(mtx_)
+      |         ^~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h:190:57: note: remove parentheses
+  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
+      |                                                         ^~~
+../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
+  348 |         LOKI_THREADS_MUTEX(mtx_)
+      |         ^~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
+../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  254 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
+../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  262 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
+../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  254 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
+../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  262 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from Thread.h:17,
                  from main.cpp:22:
 ../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
@@ -783,12 +917,6 @@
 ../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
   590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from type.h:16,
-                 from main.cpp:24:
-../../include/loki/Pimpl.h: In destructor 'Loki::Pimpl<T, Pointer>::~Pimpl()':
-../../include/loki/Pimpl.h:93:26: warning: typedef 'T_must_be_defined' locally defined but not used [-Wunused-local-typedefs]
-   93 |             typedef char T_must_be_defined[sizeof(T) ? 1 : -1 ];
-      |                          ^~~~~~~~~~~~~~~~~
 In file included from ../../include/loki/SmallObj.h:22,
                  from SmallObjBench.cpp:25:
 ../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
@@ -842,7 +970,8 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from main2.cpp:15:
+In file included from ../../include/loki/SmallObj.h:23,
+                 from SmallObjSingleton.cpp:17:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -864,41 +993,10 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from singletondll.h:26,
-                 from singletondll.cpp:16:
-../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
-../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  158 |         std::auto_ptr<LifetimeTracker>
-      |              ^~~~~~~~
-In file included from /usr/include/c++/14/memory:78,
-                 from ../../include/loki/Singleton.h:30:
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -fexpensive-optimizations -O3 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o SmallObjSingleton.o SmallObjSingleton.cpp
-In file included from main.cpp:57:
-../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
-../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  158 |         std::auto_ptr<LifetimeTracker>
-      |              ^~~~~~~~
-In file included from /usr/include/c++/14/memory:78,
-                 from ../../include/loki/Singleton.h:30:
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
 In file included from ../../include/loki/SmallObj.h:23,
-                 from ../../include/loki/Functor.h:24,
-                 from main.cpp:22:
-../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
-../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  158 |         std::auto_ptr<LifetimeTracker>
-      |              ^~~~~~~~
-In file included from /usr/include/c++/14/memory:78,
-                 from ../../include/loki/Singleton.h:30:
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-In file included from ../../include/loki/SmallObj.h:23:
+                 from ../../include/loki/SmartPtr.h:33,
+                 from ../../include/loki/StrongPtr.h:20,
+                 from LockTest.cpp:38:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -920,59 +1018,9 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-../../include/loki/Functor.h: At global scope:
-../../include/loki/Functor.h:1250:22: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
- 1250 |         Functor(std::auto_ptr<Impl> spImpl) : spImpl_(spImpl)
-      |                      ^~~~~~~~
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-../../include/loki/Functor.h:1263:30: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
- 1263 |         typedef Impl * (std::auto_ptr<Impl>::*unspecified_bool_type)() const;
-      |                              ^~~~~~~~
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-../../include/loki/Functor.h:1428:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
- 1428 |         std::auto_ptr<Impl> spImpl_;
-      |              ^~~~~~~~
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-../../include/loki/Functor.h: In member function 'Loki::Functor<R, TList, ThreadingModel>::operator unspecified_bool_type() const':
-../../include/loki/Functor.h:1267:42: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
- 1267 |             return spImpl_.get() ? &std::auto_ptr<Impl>::get : 0;
-      |                                          ^~~~~~~~
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-../../include/loki/Functor.h: In function 'typename Loki::Private::BinderFirstTraits<Fctor>::BoundFunctorType Loki::BindFirst(const Fctor&, typename Fctor::Parm1)':
-../../include/loki/Functor.h:1619:30: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
- 1619 |         return Outgoing(std::auto_ptr<typename Outgoing::Impl>(
-      |                              ^~~~~~~~
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-In file included from ../../include/loki/SmallObj.h:22,
-                 from ../../include/loki/Functor.h:24,
-                 from ../../include/loki/Function.h:22,
-                 from FunctionTest.cpp:50:
-../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
-  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
-      |                                                         ^~~
-../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
-  348 |         LOKI_THREADS_MUTEX(mtx_)
-      |         ^~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h:190:57: note: remove parentheses
-  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
-      |                                                         ^~~
-../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
-  348 |         LOKI_THREADS_MUTEX(mtx_)
-      |         ^~~~~~~~~~~~~~~~~~
+g++ --shared -fPIC -L../../lib -o libfoo.so foo.lo ../../lib/libloki.a
 In file included from ../../include/loki/SmallObj.h:23,
-                 from ../../include/loki/Functor.h:24,
-                 from ../../include/loki/Factory.h:20,
-                 from CachedFactoryTest.cpp:29:
+                 from Dependencies.cpp:18:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -982,42 +1030,9 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-../../include/loki/Functor.h: In function 'Fun2 Loki::Chain(const Fun1&, const Fun2&)':
-../../include/loki/Functor.h:1781:26: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
- 1781 |         return Fun2(std::auto_ptr<typename Fun2::Impl>(
-      |                          ^~~~~~~~
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
-../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  254 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
-../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  262 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
-../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  254 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
-../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  262 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-In file included from DeletableSingleton.cpp:29:
+In file included from ../../include/loki/SmallObj.h:23,
+                 from ../../include/loki/Functor.h:24,
+                 from main.cpp:22:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -1027,7 +1042,7 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from Phoenix.cpp:35:
+In file included from ../../include/loki/SmallObj.h:23:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -1037,20 +1052,7 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-../../include/loki/SmartPtr.h: At global scope:
-../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
-      |                  ^~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/string:49,
-                 from /usr/include/c++/14/stdexcept:39,
-                 from ../../include/loki/Singleton.h:24:
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
-In file included from ../../include/loki/SmallObj.h:23,
-                 from ../../include/loki/Functor.h:24,
-                 from ../../include/loki/Factory.h:20,
-                 from Factory.cpp:19:
+In file included from ../../include/loki/SmallObj.h:23:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -1060,8 +1062,7 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from ../../include/loki/SmallObj.h:23,
-                 from Dependencies.cpp:18:
+In file included from main2.cpp:15:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -1071,6 +1072,8 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
+In file included from ../../include/loki/Function.h:22,
+                 from Dependencies.cpp:19:
 ../../include/loki/Functor.h: At global scope:
 ../../include/loki/Functor.h:1250:22: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  1250 |         Functor(std::auto_ptr<Impl> spImpl) : spImpl_(spImpl)
@@ -1144,8 +1147,79 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from ../../include/loki/Function.h:22,
-                 from Dependencies.cpp:19:
+../../include/loki/SmartPtr.h: At global scope:
+../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
+      |                  ^~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/string:49,
+                 from /usr/include/c++/14/stdexcept:39,
+                 from ../../include/loki/Singleton.h:24:
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
+../../include/loki/Functor.h: In function 'Fun2 Loki::Chain(const Fun1&, const Fun2&)':
+../../include/loki/Functor.h:1781:26: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+ 1781 |         return Fun2(std::auto_ptr<typename Fun2::Impl>(
+      |                          ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+../../include/loki/SmartPtr.h: At global scope:
+../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
+      |                  ^~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/string:49,
+                 from /usr/include/c++/14/stdexcept:39,
+                 from ../../include/loki/Singleton.h:24:
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
+Dependencies.cpp: In function 'int main()':
+Dependencies.cpp:411:11: warning: variable 'p' set but not used [-Wunused-but-set-variable]
+  411 |     void* p;
+      |           ^
+In file included from ../../include/loki/SmallObj.h:23,
+                 from ../../include/loki/Functor.h:24,
+                 from ../../include/loki/Factory.h:20,
+                 from main.cpp:18:
+../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
+../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  158 |         std::auto_ptr<LifetimeTracker>
+      |              ^~~~~~~~
+In file included from /usr/include/c++/14/memory:78,
+                 from ../../include/loki/Singleton.h:30:
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+../../include/loki/StrongPtr.h:1681:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1681 |         : public binary_function<
+      |                  ^~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
+../../include/loki/SmartPtr.h: At global scope:
+../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
+      |                  ^~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/string:49,
+                 from /usr/include/c++/14/stdexcept:39,
+                 from ../../include/loki/Singleton.h:24:
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
+type.h:94:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+   94 | typedef std::auto_ptr<ImplOf<E> > StdAutoPtr;
+      |              ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+In file included from main.cpp:25:
+type2.h:133:23: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  133 |     Pimpl<Impl4, std::auto_ptr<Impl4> > d;
+      |                       ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
 ../../include/loki/Functor.h: At global scope:
 ../../include/loki/Functor.h:1250:22: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  1250 |         Functor(std::auto_ptr<Impl> spImpl) : spImpl_(spImpl)
@@ -1159,13 +1233,6 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-../../include/loki/Functor.h: In function 'Fun2 Loki::Chain(const Fun1&, const Fun2&)':
-../../include/loki/Functor.h:1781:26: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
- 1781 |         return Fun2(std::auto_ptr<typename Fun2::Impl>(
-      |                          ^~~~~~~~
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
 ../../include/loki/Functor.h:1428:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  1428 |         std::auto_ptr<Impl> spImpl_;
       |              ^~~~~~~~
@@ -1193,11 +1260,7 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-Dependencies.cpp: In function 'int main()':
-Dependencies.cpp:411:11: warning: variable 'p' set but not used [-Wunused-but-set-variable]
-  411 |     void* p;
-      |           ^
-In file included from ../../include/loki/SmallObj.h:23:
+In file included from main.cpp:57:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -1217,12 +1280,89 @@
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
-type.h:94:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-   94 | typedef std::auto_ptr<ImplOf<E> > StdAutoPtr;
+../../include/loki/StrongPtr.h:1681:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1681 |         : public binary_function<
+      |                  ^~~~~~~~~~~~~~~
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
+main.cpp: In function 'void DoRefLinkSwapTests()':
+main.cpp:612:10: warning: variable 'merged' set but not used [-Wunused-but-set-variable]
+  612 |     bool merged = false;
+      |          ^~~~~~
+In file included from singletondll.h:26,
+                 from singletondll.cpp:16:
+../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
+../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  158 |         std::auto_ptr<LifetimeTracker>
       |              ^~~~~~~~
+In file included from /usr/include/c++/14/memory:78,
+                 from ../../include/loki/Singleton.h:30:
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
+main.cpp: In function 'int main(int, const char**)':
+main.cpp:1004:10: warning: variable 'doThreadTest' set but not used [-Wunused-but-set-variable]
+ 1004 |     bool doThreadTest = false;
+      |          ^~~~~~~~~~~~
+In file included from SmallObjBench.cpp:26:
+timer.h: In member function 'void Timer::start()':
+timer.h:34:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
+   34 |         t0 = clock();
+      |              ~~~~~^~
+timer.h: In member function 'void Timer::stop()':
+timer.h:39:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
+   39 |         t1 = clock();
+      |              ~~~~~^~
+In file included from ../../include/loki/Factory.h:21:
+../../include/loki/AssocVector.h: At global scope:
+../../include/loki/AssocVector.h:111:27: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+  111 |             : public std::binary_function<value_type, value_type, bool>
+      |                           ^~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/string:49,
+                 from /usr/include/c++/14/bits/locale_classes.h:40,
+                 from /usr/include/c++/14/bits/ios_base.h:41,
+                 from /usr/include/c++/14/ios:44,
+                 from /usr/include/c++/14/ostream:40,
+                 from /usr/include/c++/14/iostream:41,
+                 from main.cpp:16:
+/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
+  131 |     struct binary_function
+      |            ^~~~~~~~~~~~~~~
+g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
+In file included from main.cpp:20:
+../SmallObj/timer.h: In member function 'void Timer::start()':
+../SmallObj/timer.h:34:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
+   34 |         t0 = clock();
+      |              ~~~~~^~
+../SmallObj/timer.h: In member function 'void Timer::stop()':
+../SmallObj/timer.h:39:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
+   39 |         t1 = clock();
+      |              ~~~~~^~
+../../include/loki/SmartPtr.h: In instantiation of 'void Loki::DefaultSPStorage<T>::Destroy() [with T = Thingy]':
+../../include/loki/SmartPtr.h:1264:28:   required from 'Loki::SmartPtr<T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy>::~SmartPtr() [with T = Thingy; OwnershipPolicy = Loki::RefCounted; ConversionPolicy = Loki::DisallowConversion; CheckingPolicy = Loki::AssertCheck; StoragePolicy = Loki::DefaultSPStorage; ConstnessPolicy = Loki::PropagateConst]'
+ 1264 |                 SP::Destroy();
+      |                 ~~~~~~~~~~~^~
+main.cpp:987:31:   required from here
+  987 |     Thingy_DefaultStorage_ptr p1;
+      |                               ^~
+../../include/loki/SmartPtr.h:200:13: warning: possible problem detected in invocation of 'operator delete' [-Wdelete-incomplete]
+  200 |             delete pointee_;
+      |             ^~~~~~~~~~~~~~~
+../../include/loki/SmartPtr.h:200:20: warning: invalid use of incomplete type 'class Thingy'
+  200 |             delete pointee_;
+      |                    ^~~~~~~~
+main.cpp:53:7: note: forward declaration of 'class Thingy'
+   53 | class Thingy;
+      |       ^~~~~~
+../../include/loki/SmartPtr.h:200:13: note: neither the destructor nor the class-specific 'operator delete' will be called, even if they are declared when the class is defined
+  200 |             delete pointee_;
+      |             ^~~~~~~~~~~~~~~
+ar -rv libfoo.a foo.o
+ar: creating libfoo.a
+a - foo.o
+make[4]: *** [<builtin>: main.o] Error 1
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/LockingPtr'
 In file included from ../../include/loki/SmallObj.h:23,
                  from SmallObjectTest.h:20,
                  from Test.cpp:45:
@@ -1235,17 +1375,115 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-In file included from main.cpp:25:
-type2.h:133:23: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  133 |     Pimpl<Impl4, std::auto_ptr<Impl4> > d;
-      |                       ^~~~~~~~
+make[3]: *** [Makefile:12: LockingPtr] Error 2
+make[3]: *** Waiting for unfinished jobs....
+g++ -Wl,-z,relro -o main2 main2.o ../../lib/libloki.a
+In file included from Phoenix.cpp:35:
+../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
+../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  158 |         std::auto_ptr<LifetimeTracker>
+      |              ^~~~~~~~
+In file included from /usr/include/c++/14/memory:78,
+                 from ../../include/loki/Singleton.h:30:
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+strong.cpp: In function 'void DoWeakLeakTest()':
+strong.cpp:329:24: warning: unused variable 'ctorCount' [-Wunused-variable]
+  329 |     const unsigned int ctorCount = Counted::GetCtorCount();
+      |                        ^~~~~~~~~
+strong.cpp:330:24: warning: unused variable 'dtorCount' [-Wunused-variable]
+  330 |     const unsigned int dtorCount = Counted::GetDtorCount();
+      |                        ^~~~~~~~~
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Visitor'
+In file included from DeletableSingleton.cpp:29:
+../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
+../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  158 |         std::auto_ptr<LifetimeTracker>
+      |              ^~~~~~~~
+In file included from /usr/include/c++/14/memory:78,
+                 from ../../include/loki/Singleton.h:30:
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
+g++ --shared -fPIC -L../../lib -L. -o libsingletondll.so singletondll.lo libfoo.so -lfoo ../../lib/libloki.a
+LockTest.cpp: In function 'void DoLockedPtrTest()':
+LockTest.cpp:431:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
+  431 |     ::system( "pause" );
+      |     ~~~~~~~~^~~~~~~~~~~
+LockTest.cpp:439:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
+  439 |     ::system( "pause" );
+      |     ~~~~~~~~^~~~~~~~~~~
+LockTest.cpp: In function 'void DoLockedStorageTest()':
+LockTest.cpp:456:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
+  456 |     ::system( "pause" );
+      |     ~~~~~~~~^~~~~~~~~~~
+LockTest.cpp:463:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
+  463 |     ::system( "pause" );
+      |     ~~~~~~~~^~~~~~~~~~~
+make[4]: *** [<builtin>: LockTest.o] Error 1
+make[4]: *** Waiting for unfinished jobs....
+In file included from ../../include/loki/SmallObj.h:22,
+                 from ../../include/loki/Functor.h:24,
+                 from ../../include/loki/Function.h:22,
+                 from FunctionTest.cpp:50:
+../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
+  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
+      |                                                         ^~~
+../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
+  348 |         LOKI_THREADS_MUTEX(mtx_)
+      |         ^~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h:190:57: note: remove parentheses
+  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
+      |                                                         ^~~
+../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
+  348 |         LOKI_THREADS_MUTEX(mtx_)
+      |         ^~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
+../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  254 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
+../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  262 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
+../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  254 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
+../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
+  262 |             return lval;                                                 \
+      |                    ^~~~
+../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
+  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
+      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 In file included from ../../include/loki/SmallObj.h:23,
                  from ../../include/loki/Functor.h:24,
                  from ../../include/loki/Factory.h:20,
-                 from main.cpp:18:
+                 from Factory.cpp:19:
+../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
+../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  158 |         std::auto_ptr<LifetimeTracker>
+      |              ^~~~~~~~
+In file included from /usr/include/c++/14/memory:78,
+                 from ../../include/loki/Singleton.h:30:
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+In file included from ../../include/loki/SmallObj.h:23,
+                 from ../../include/loki/Functor.h:24,
+                 from ../../include/loki/Factory.h:20,
+                 from CachedFactoryTest.cpp:29:
 ../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
 ../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
   158 |         std::auto_ptr<LifetimeTracker>
@@ -1255,6 +1493,7 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
+g++ -L. -L../../lib -o client client.o ../../lib/libloki.a -lfoo -lsingletondll
 ../../include/loki/Functor.h: At global scope:
 ../../include/loki/Functor.h:1250:22: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  1250 |         Functor(std::auto_ptr<Impl> spImpl) : spImpl_(spImpl)
@@ -1288,6 +1527,9 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
+make[4]: *** [<builtin>: strong.o] Error 1
+make[4]: *** [<builtin>: SmallObjBench.o] Error 1
+make[4]: *** Waiting for unfinished jobs....
 ../../include/loki/Functor.h: In function 'Fun2 Loki::Chain(const Fun1&, const Fun2&)':
 ../../include/loki/Functor.h:1781:26: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  1781 |         return Fun2(std::auto_ptr<typename Fun2::Impl>(
@@ -1295,19 +1537,16 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-main.cpp: In function 'void DoRefLinkSwapTests()':
-main.cpp:612:10: warning: variable 'merged' set but not used [-Wunused-but-set-variable]
-  612 |     bool merged = false;
-      |          ^~~~~~
-In file included from main.cpp:20:
-../SmallObj/timer.h: In member function 'void Timer::start()':
-../SmallObj/timer.h:34:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
-   34 |         t0 = clock();
-      |              ~~~~~^~
-../SmallObj/timer.h: In member function 'void Timer::stop()':
-../SmallObj/timer.h:39:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
-   39 |         t1 = clock();
-      |              ~~~~~^~
+In file included from ../../include/loki/SmallObj.h:23:
+../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
+../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+  158 |         std::auto_ptr<LifetimeTracker>
+      |              ^~~~~~~~
+In file included from /usr/include/c++/14/memory:78,
+                 from ../../include/loki/Singleton.h:30:
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
 ../../include/loki/Functor.h: At global scope:
 ../../include/loki/Functor.h:1250:22: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  1250 |         Functor(std::auto_ptr<Impl> spImpl) : spImpl_(spImpl)
@@ -1321,10 +1560,6 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
-main.cpp: In function 'int main(int, const char**)':
-main.cpp:1004:10: warning: variable 'doThreadTest' set but not used [-Wunused-but-set-variable]
- 1004 |     bool doThreadTest = false;
-      |          ^~~~~~~~~~~~
 ../../include/loki/Functor.h:1428:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
  1428 |         std::auto_ptr<Impl> spImpl_;
       |              ^~~~~~~~
@@ -1352,6 +1587,66 @@
 /usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
    59 |   template<typename> class auto_ptr;
       |                            ^~~~~~~~
+../../include/loki/Functor.h: At global scope:
+../../include/loki/Functor.h:1250:22: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+ 1250 |         Functor(std::auto_ptr<Impl> spImpl) : spImpl_(spImpl)
+      |                      ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+../../include/loki/Functor.h:1263:30: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+ 1263 |         typedef Impl * (std::auto_ptr<Impl>::*unspecified_bool_type)() const;
+      |                              ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+../../include/loki/Functor.h:1428:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+ 1428 |         std::auto_ptr<Impl> spImpl_;
+      |              ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+../../include/loki/Functor.h: In member function 'Loki::Functor<R, TList, ThreadingModel>::operator unspecified_bool_type() const':
+../../include/loki/Functor.h:1267:42: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+ 1267 |             return spImpl_.get() ? &std::auto_ptr<Impl>::get : 0;
+      |                                          ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+../../include/loki/Functor.h: In function 'typename Loki::Private::BinderFirstTraits<Fctor>::BoundFunctorType Loki::BindFirst(const Fctor&, typename Fctor::Parm1)':
+../../include/loki/Functor.h:1619:30: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+ 1619 |         return Outgoing(std::auto_ptr<typename Outgoing::Impl>(
+      |                              ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+../../include/loki/Functor.h: In function 'Fun2 Loki::Chain(const Fun1&, const Fun2&)':
+../../include/loki/Functor.h:1781:26: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
+ 1781 |         return Fun2(std::auto_ptr<typename Fun2::Impl>(
+      |                          ^~~~~~~~
+/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
+   59 |   template<typename> class auto_ptr;
+      |                            ^~~~~~~~
+g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
+g++ -Wl,-z,relro -o Phoenix Phoenix.o ../../lib/libloki.a
+g++ -Wl,-z,relro -o DeletableSingleton DeletableSingleton.o ../../lib/libloki.a
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SingletonDll'
+FunctionTest.cpp: In function 'void test_ref()':
+FunctionTest.cpp:740:25: warning: catching polymorphic type 'class std::runtime_error' by value [-Wcatch-value=]
+  740 |     catch(runtime_error e)
+      |                         ^
+FunctionTest.cpp: In function 'void test_exception()':
+FunctionTest.cpp:757:11: error: reference to 'bad_function_call' is ambiguous
+  757 |     catch(bad_function_call)
+      |           ^~~~~~~~~~~~~~~~~
+In file included from /usr/include/c++/14/functional:59,
+                 from FunctionTest.cpp:13:
+/usr/include/c++/14/bits/std_function.h:54:9: note: candidates are: 'class std::bad_function_call'
+   54 |   class bad_function_call : public std::exception
+      |         ^~~~~~~~~~~~~~~~~
+../../include/loki/Functor.h:1180:11: note:                 'class Loki::bad_function_call'
+ 1180 |     class bad_function_call : public std::runtime_error
+      |           ^~~~~~~~~~~~~~~~~
 In file included from ../../include/loki/Factory.h:21:
 ../../include/loki/AssocVector.h: At global scope:
 ../../include/loki/AssocVector.h:111:27: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
@@ -1363,27 +1658,10 @@
                  from /usr/include/c++/14/ios:44,
                  from /usr/include/c++/14/ostream:40,
                  from /usr/include/c++/14/iostream:41,
-                 from CachedFactoryTest.cpp:27:
+                 from Factory.cpp:17:
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
-In file included from SmallObjBench.cpp:26:
-timer.h: In member function 'void Timer::start()':
-timer.h:34:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
-   34 |         t0 = clock();
-      |              ~~~~~^~
-timer.h: In member function 'void Timer::stop()':
-timer.h:39:19: warning: conversion from 'clock_t' {aka 'long int'} to 'int' may change value [-Wconversion]
-   39 |         t1 = clock();
-      |              ~~~~~^~
-FunctionTest.cpp: In function 'void test_ref()':
-FunctionTest.cpp:740:25: warning: catching polymorphic type 'class std::runtime_error' by value [-Wcatch-value=]
-  740 |     catch(runtime_error e)
-      |                         ^
-FunctionTest.cpp: In function 'void test_exception()':
-FunctionTest.cpp:757:11: error: reference to 'bad_function_call' is ambiguous
-  757 |     catch(bad_function_call)
-      |           ^~~~~~~~~~~~~~~~~
 In file included from ../../include/loki/Factory.h:21:
 ../../include/loki/AssocVector.h: At global scope:
 ../../include/loki/AssocVector.h:111:27: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
@@ -1395,43 +1673,13 @@
                  from /usr/include/c++/14/ios:44,
                  from /usr/include/c++/14/ostream:40,
                  from /usr/include/c++/14/iostream:41,
-                 from Factory.cpp:17:
+                 from CachedFactoryTest.cpp:27:
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/functional:59,
-                 from FunctionTest.cpp:13:
-/usr/include/c++/14/bits/std_function.h:54:9: note: candidates are: 'class std::bad_function_call'
-   54 |   class bad_function_call : public std::exception
-      |         ^~~~~~~~~~~~~~~~~
-../../include/loki/Functor.h:1180:11: note:                 'class Loki::bad_function_call'
- 1180 |     class bad_function_call : public std::runtime_error
-      |           ^~~~~~~~~~~~~~~~~
-make[4]: *** [<builtin>: main.o] Error 1
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/LockingPtr'
-make[3]: *** [Makefile:12: LockingPtr] Error 2
-make[3]: *** Waiting for unfinished jobs....
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o foo.o foo.cpp
-g++ --shared -fPIC -L../../lib -o libfoo.so foo.lo ../../lib/libloki.a
-../../include/loki/SmartPtr.h: In instantiation of 'void Loki::DefaultSPStorage<T>::Destroy() [with T = Thingy]':
-../../include/loki/SmartPtr.h:1264:28:   required from 'Loki::SmartPtr<T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy>::~SmartPtr() [with T = Thingy; OwnershipPolicy = Loki::RefCounted; ConversionPolicy = Loki::DisallowConversion; CheckingPolicy = Loki::AssertCheck; StoragePolicy = Loki::DefaultSPStorage; ConstnessPolicy = Loki::PropagateConst]'
- 1264 |                 SP::Destroy();
-      |                 ~~~~~~~~~~~^~
-main.cpp:987:31:   required from here
-  987 |     Thingy_DefaultStorage_ptr p1;
-      |                               ^~
-../../include/loki/SmartPtr.h:200:13: warning: possible problem detected in invocation of 'operator delete' [-Wdelete-incomplete]
-  200 |             delete pointee_;
-      |             ^~~~~~~~~~~~~~~
-../../include/loki/SmartPtr.h:200:20: warning: invalid use of incomplete type 'class Thingy'
-  200 |             delete pointee_;
-      |                    ^~~~~~~~
-main.cpp:53:7: note: forward declaration of 'class Thingy'
-   53 | class Thingy;
-      |       ^~~~~~
-../../include/loki/SmartPtr.h:200:13: note: neither the destructor nor the class-specific 'operator delete' will be called, even if they are declared when the class is defined
-  200 |             delete pointee_;
-      |             ^~~~~~~~~~~~~~~
+g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Longevity'
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/DeletableSingleton'
 In file included from CachedFactoryTest.cpp:39:
 ../../include/loki/CachedFactory.h: In member function 'void Loki::RateLimitedCreation::cleanVector()':
 ../../include/loki/CachedFactory.h:187:98: warning: 'std::binder2nd<_Operation> std::bind2nd(const _Operation&, const _Tp&) [with _Operation = less<long int>; _Tp = long int]' is deprecated: use 'std::bind' instead [-Wdeprecated-declarations]
@@ -1466,102 +1714,42 @@
 /usr/include/c++/14/bits/stl_function.h:117:12: note: declared here
   117 |     struct unary_function
       |            ^~~~~~~~~~~~~~
-In file included from ../../include/loki/Factory.h:21:
-../../include/loki/AssocVector.h: At global scope:
-../../include/loki/AssocVector.h:111:27: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
-  111 |             : public std::binary_function<value_type, value_type, bool>
-      |                           ^~~~~~~~~~~~~~~
+In file included from SmartPtrTest.h:20,
+                 from Test.cpp:54:
+../../include/loki/SmartPtr.h: At global scope:
+../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
+ 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
+      |                  ^~~~~~~~~~~~~~~
 In file included from /usr/include/c++/14/string:49,
                  from /usr/include/c++/14/bits/locale_classes.h:40,
                  from /usr/include/c++/14/bits/ios_base.h:41,
                  from /usr/include/c++/14/ios:44,
                  from /usr/include/c++/14/ostream:40,
                  from /usr/include/c++/14/iostream:41,
-                 from main.cpp:16:
+                 from UnitTest.h:19,
+                 from Test.cpp:31:
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/ScopeGuard'
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmallObj'
 CachedFactoryTest.cpp: In function 'void unitTestCachePerformance(int)':
 CachedFactoryTest.cpp:179:119: warning: conversion from 'milliSec' {aka 'long int'} to 'double' may change value [-Wconversion]
   179 |     cout << "No cache "<<elapsedNoCache<<" ms | Cache "<<elapsedCache<<" ms | Efficiency " << (double(elapsedNoCache)/elapsedCache)-1 << endl;
       |                                                                                                                       ^~~~~~~~~~~~
-In file included from ../../include/loki/SPCachedFactory.h:39,
-                 from CachedFactoryTest.cpp:393:
-../../include/loki/SmartPtr.h: At global scope:
-../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
-      |                  ^~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
+make[3]: *** [Makefile:12: SmallObj] Error 2
 make[4]: *** [<builtin>: FunctionTest.o] Error 1
 make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Function'
 make[3]: *** [Makefile:12: Function] Error 2
-g++ --shared -fPIC -L../../lib -L. -o libsingletondll.so singletondll.lo libfoo.so -lfoo ../../lib/libloki.a
-g++ -Wl,-z,relro -o Phoenix Phoenix.o ../../lib/libloki.a
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o strong.o strong.cpp
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG  -c -o LockTest.o LockTest.cpp
-In file included from SmartPtrTest.h:20,
-                 from Test.cpp:54:
+In file included from ../../include/loki/SPCachedFactory.h:39,
+                 from CachedFactoryTest.cpp:393:
 ../../include/loki/SmartPtr.h: At global scope:
 ../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
  1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
       |                  ^~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/string:49,
-                 from /usr/include/c++/14/bits/locale_classes.h:40,
-                 from /usr/include/c++/14/bits/ios_base.h:41,
-                 from /usr/include/c++/14/ios:44,
-                 from /usr/include/c++/14/ostream:40,
-                 from /usr/include/c++/14/iostream:41,
-                 from UnitTest.h:19,
-                 from Test.cpp:31:
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
-CachedFactoryTest.cpp: In instantiation of 'milliSec typicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictRandom, Loki::SimpleStatisticPolicy>; milliSec = long int]':
-CachedFactoryTest.cpp:238:42:   required from 'void displayTypicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictRandom, Loki::SimpleStatisticPolicy>]'
-  238 |     cout << "====> " << typicalUse<Cache>(CC, objectKind, maxObjectCount, maxIteration) << " ms" << endl;
-      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CachedFactoryTest.cpp:252:40:   required from here
-  252 |         displayTypicalUse<CRandomEvict>( cache, objectKind, maxObjectCount, maxIteration);
-      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CachedFactoryTest.cpp:204:25: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
-  204 |             CC.Register(i, createProductNull);
-      |                         ^
-CachedFactoryTest.cpp: In instantiation of 'milliSec typicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictLRU, Loki::SimpleStatisticPolicy>; milliSec = long int]':
-CachedFactoryTest.cpp:238:42:   required from 'void displayTypicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictLRU, Loki::SimpleStatisticPolicy>]'
-  238 |     cout << "====> " << typicalUse<Cache>(CC, objectKind, maxObjectCount, maxIteration) << " ms" << endl;
-      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CachedFactoryTest.cpp:257:26:   required from here
-  257 |         displayTypicalUse( cache, objectKind, maxObjectCount, maxIteration);
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CachedFactoryTest.cpp:204:25: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
-  204 |             CC.Register(i, createProductNull);
-      |                         ^
-CachedFactoryTest.cpp: In instantiation of 'milliSec typicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictAging, Loki::SimpleStatisticPolicy>; milliSec = long int]':
-CachedFactoryTest.cpp:238:42:   required from 'void displayTypicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictAging, Loki::SimpleStatisticPolicy>]'
-  238 |     cout << "====> " << typicalUse<Cache>(CC, objectKind, maxObjectCount, maxIteration) << " ms" << endl;
-      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CachedFactoryTest.cpp:262:26:   required from here
-  262 |         displayTypicalUse( cache, objectKind, maxObjectCount, maxIteration);
-      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-CachedFactoryTest.cpp:204:25: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
-  204 |             CC.Register(i, createProductNull);
-      |                         ^
-In file included from ../../include/loki/SmallObj.h:23,
-                 from SmallObjSingleton.cpp:17:
-../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
-../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  158 |         std::auto_ptr<LifetimeTracker>
-      |              ^~~~~~~~
-In file included from /usr/include/c++/14/memory:78,
-                 from ../../include/loki/Singleton.h:30:
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-make[4]: *** [<builtin>: SmallObjBench.o] Error 1
-make[4]: *** Waiting for unfinished jobs....
-g++ -Wl,-z,relro -o DeletableSingleton DeletableSingleton.o ../../lib/libloki.a
 In file included from ../../include/loki/Factory.h:20,
                  from FactoryTest.h:19,
                  from Test.cpp:55:
@@ -1612,8 +1800,6 @@
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
-g++ -Wl,-z,relro -o main2 main2.o ../../lib/libloki.a
-g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
 In file included from Test.cpp:57:
 AbstractFactoryTest.h: In member function 'virtual void AbstractFactoryTest::execute(TestResult&)':
 AbstractFactoryTest.h:74:10: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
@@ -1657,7 +1843,6 @@
    94 |         ConcreteProduct* DoCreate(Type2Type<AbstractProduct>)
       |                          ^~~~~~~~
 ../../include/loki/AbstractFactory.h:94:26: note:   by 'ConcreteProduct* Loki::OpNewFactoryUnit<ConcreteProduct, Base>::DoCreate(Loki::Type2Type<typename Base::ProductList::Head>) [with ConcreteProduct = SillySuperMonster; Base = Loki::GenLinearHierarchy<Loki::Typelist<SillyMonster, Loki::Typelist<SillySoldier, Loki::NullType> >, Loki::OpNewFactoryUnit, Loki::AbstractFactory<Loki::Typelist<Soldier, Loki::Typelist<Monster, Loki::Typelist<SuperMonster, Loki::NullType> > > > >; typename Base::ProductList::Head = SuperMonster; typename Base::ProductList = Loki::Typelist<SuperMonster, Loki::NullType>]'
-g++ -L. -L../../lib -o client client.o ../../lib/libloki.a -lfoo -lsingletondll
 AbstractFactoryTest.h:75:10: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
    75 |     std::auto_ptr<AbstractEnemyFactory> hardFactory(new HardLevelEnemyFactory);
       |          ^~~~~~~~
@@ -1698,47 +1883,36 @@
    94 |         ConcreteProduct* DoCreate(Type2Type<AbstractProduct>)
       |                          ^~~~~~~~
 ../../include/loki/AbstractFactory.h:94:26: note:   by 'ConcreteProduct* Loki::OpNewFactoryUnit<ConcreteProduct, Base>::DoCreate(Loki::Type2Type<typename Base::ProductList::Head>) [with ConcreteProduct = BadSuperMonster; Base = Loki::GenLinearHierarchy<Loki::Typelist<BadMonster, Loki::Typelist<BadSoldier, Loki::NullType> >, Loki::OpNewFactoryUnit, Loki::AbstractFactory<Loki::Typelist<Soldier, Loki::Typelist<Monster, Loki::Typelist<SuperMonster, Loki::NullType> > > > >; typename Base::ProductList::Head = SuperMonster; typename Base::ProductList = Loki::Typelist<SuperMonster, Loki::NullType>]'
-In file included from LockTest.cpp:37:
-../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
-  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
-      |                                                         ^~~
-../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
-  348 |         LOKI_THREADS_MUTEX(mtx_)
-      |         ^~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h:190:57: note: remove parentheses
-  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
-      |                                                         ^~~
-../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
-  348 |         LOKI_THREADS_MUTEX(mtx_)
-      |         ^~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
-../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  254 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
-../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  262 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
-../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  254 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
-../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  262 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CachedFactoryTest.cpp: In instantiation of 'milliSec typicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictRandom, Loki::SimpleStatisticPolicy>; milliSec = long int]':
+CachedFactoryTest.cpp:238:42:   required from 'void displayTypicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictRandom, Loki::SimpleStatisticPolicy>]'
+  238 |     cout << "====> " << typicalUse<Cache>(CC, objectKind, maxObjectCount, maxIteration) << " ms" << endl;
+      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CachedFactoryTest.cpp:252:40:   required from here
+  252 |         displayTypicalUse<CRandomEvict>( cache, objectKind, maxObjectCount, maxIteration);
+      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CachedFactoryTest.cpp:204:25: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
+  204 |             CC.Register(i, createProductNull);
+      |                         ^
+CachedFactoryTest.cpp: In instantiation of 'milliSec typicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictLRU, Loki::SimpleStatisticPolicy>; milliSec = long int]':
+CachedFactoryTest.cpp:238:42:   required from 'void displayTypicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictLRU, Loki::SimpleStatisticPolicy>]'
+  238 |     cout << "====> " << typicalUse<Cache>(CC, objectKind, maxObjectCount, maxIteration) << " ms" << endl;
+      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CachedFactoryTest.cpp:257:26:   required from here
+  257 |         displayTypicalUse( cache, objectKind, maxObjectCount, maxIteration);
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CachedFactoryTest.cpp:204:25: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
+  204 |             CC.Register(i, createProductNull);
+      |                         ^
+CachedFactoryTest.cpp: In instantiation of 'milliSec typicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictAging, Loki::SimpleStatisticPolicy>; milliSec = long int]':
+CachedFactoryTest.cpp:238:42:   required from 'void displayTypicalUse(Cache&, unsigned int, unsigned int, unsigned int) [with Cache = Loki::CachedFactory<AbstractProduct, int, Loki::NullType, Loki::SimplePointer, Loki::AlwaysCreate, Loki::EvictAging, Loki::SimpleStatisticPolicy>]'
+  238 |     cout << "====> " << typicalUse<Cache>(CC, objectKind, maxObjectCount, maxIteration) << " ms" << endl;
+      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CachedFactoryTest.cpp:262:26:   required from here
+  262 |         displayTypicalUse( cache, objectKind, maxObjectCount, maxIteration);
+      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+CachedFactoryTest.cpp:204:25: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
+  204 |             CC.Register(i, createProductNull);
+      |                         ^
 In file included from Test.cpp:60:
 AssocVectorTest.h: At global scope:
 AssocVectorTest.h:122:31: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
@@ -1747,51 +1921,6 @@
 /usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
   131 |     struct binary_function
       |            ^~~~~~~~~~~~~~~
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/DeletableSingleton'
-In file included from ../../include/loki/SmallObj.h:22,
-                 from ../../include/loki/SmartPtr.h:33,
-                 from ../../include/loki/StrongPtr.h:20,
-                 from strong.cpp:22:
-../../include/loki/Threads.h:190:57: warning: unnecessary parentheses in declaration of 'mtx_' [-Wparentheses]
-  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
-      |                                                         ^~~
-../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
-  348 |         LOKI_THREADS_MUTEX(mtx_)
-      |         ^~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h:190:57: note: remove parentheses
-  190 | #define LOKI_THREADS_MUTEX(x)           pthread_mutex_t (x);
-      |                                                         ^~~
-../../include/loki/Threads.h:348:9: note: in expansion of macro 'LOKI_THREADS_MUTEX'
-  348 |         LOKI_THREADS_MUTEX(mtx_)
-      |         ^~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
-../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  254 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ObjectLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
-../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  262 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:505:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  505 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(volatile IntType&, IntType)':
-../../include/loki/Threads.h:254:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  254 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../include/loki/Threads.h: In static member function 'static void Loki::ClassLevelLockable<Host, MutexPolicy>::AtomicAssign(IntType&, const volatile IntType&)':
-../../include/loki/Threads.h:262:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
-  262 |             return lval;                                                 \
-      |                    ^~~~
-../../include/loki/Threads.h:590:9: note: in expansion of macro 'LOKI_THREADS_ATOMIC_FUNCTIONS'
-  590 |         LOKI_THREADS_ATOMIC_FUNCTIONS
-      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 AssocVectorTest.h: In function 'void test_vect2()':
 AssocVectorTest.h:262:45: warning: variable 'aux' set but not used [-Wunused-but-set-variable]
   262 |     std::pair<test_vect2_t::iterator, bool> aux = vec21.insert(std::make_pair("xyz", 99));
@@ -1800,6 +1929,10 @@
 AssocVectorTest.h:321:28: warning: variable 'it' set but not used [-Wunused-but-set-variable]
   321 |     test_vect4_t::iterator it = vec41.find(AVTestClass(22));
       |                            ^~
+g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
+g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -L. -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG -o main main.o ../../lib/libloki.a -lfoo
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/OrderedStatic'
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Register'
 ../../include/loki/CachedFactory.h: In instantiation of 'void Loki::CachedFactory<AbstractProduct, IdentifierType, CreatorParmTList, EncapsulationPolicy, CreationPolicy, EvictionPolicy, StatisticPolicy, FactoryErrorPolicy, ObjVector>::remove(AbstractProduct*) [with AbstractProduct = AbstractProduct; IdentifierType = int; CreatorParmTList = Loki::NullType; EncapsulationPolicy = Loki::SimplePointer; CreationPolicy = Loki::AmountLimitedCreation; EvictionPolicy = Loki::EvictAging; StatisticPolicy = Loki::NoStatisticPolicy; FactoryErrorPolicy = Loki::DefaultFactoryError; ObjVector = std::vector<AbstractProduct*, std::allocator<AbstractProduct*> >]':
 ../../include/loki/CachedFactory.h:785:22:   required from here
   785 |         virtual void remove(AbstractProduct * const pProduct)
@@ -1926,98 +2059,10 @@
 /usr/include/c++/14/backward/binders.h:172:5: note: declared here
   172 |     bind2nd(const _Operation& __fn, const _Tp& __x)
       |     ^~~~~~~
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SingletonDll'
-ar -rv libfoo.a foo.o
-ar: creating libfoo.a
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/ScopeGuard'
-a - foo.o
-g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
-g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
-In file included from ../../include/loki/SmallObj.h:23,
-                 from ../../include/loki/SmartPtr.h:33,
-                 from ../../include/loki/StrongPtr.h:20,
-                 from LockTest.cpp:38:
-../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
-../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  158 |         std::auto_ptr<LifetimeTracker>
-      |              ^~~~~~~~
-In file included from /usr/include/c++/14/memory:78,
-                 from ../../include/loki/Singleton.h:30:
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Longevity'
-../../include/loki/SmartPtr.h: At global scope:
-../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
-      |                  ^~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/string:49,
-                 from /usr/include/c++/14/stdexcept:39,
-                 from ../../include/loki/Singleton.h:24:
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
-../../include/loki/StrongPtr.h:1681:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1681 |         : public binary_function<
-      |                  ^~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/OrderedStatic'
-In file included from ../../include/loki/SmallObj.h:23:
-../../include/loki/Singleton.h: In function 'void Loki::SetLongevity(T*, unsigned int, Destroyer)':
-../../include/loki/Singleton.h:158:14: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
-  158 |         std::auto_ptr<LifetimeTracker>
-      |              ^~~~~~~~
-In file included from /usr/include/c++/14/memory:78,
-                 from ../../include/loki/Singleton.h:30:
-/usr/include/c++/14/bits/unique_ptr.h:59:28: note: declared here
-   59 |   template<typename> class auto_ptr;
-      |                            ^~~~~~~~
-g++ -Wall -Wold-style-cast -Wundef -Wsign-compare -Wconversion -Wpointer-arith -pedantic -g -O2 -L. -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -I../../include -DNDEBUG -o main main.o ../../lib/libloki.a -lfoo
-../../include/loki/SmartPtr.h: At global scope:
-../../include/loki/SmartPtr.h:1768:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1768 |         : public binary_function<Loki::SmartPtr<T, OP, CP, KP, SP, CNP >,
-      |                  ^~~~~~~~~~~~~~~
-In file included from /usr/include/c++/14/string:49,
-                 from /usr/include/c++/14/stdexcept:39,
-                 from ../../include/loki/Singleton.h:24:
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
-../../include/loki/StrongPtr.h:1681:18: warning: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Wdeprecated-declarations]
- 1681 |         : public binary_function<
-      |                  ^~~~~~~~~~~~~~~
-/usr/include/c++/14/bits/stl_function.h:131:12: note: declared here
-  131 |     struct binary_function
-      |            ^~~~~~~~~~~~~~~
-LockTest.cpp: In function 'void DoLockedPtrTest()':
-LockTest.cpp:431:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
-  431 |     ::system( "pause" );
-      |     ~~~~~~~~^~~~~~~~~~~
-LockTest.cpp:439:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
-  439 |     ::system( "pause" );
-      |     ~~~~~~~~^~~~~~~~~~~
-LockTest.cpp: In function 'void DoLockedStorageTest()':
-LockTest.cpp:456:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
-  456 |     ::system( "pause" );
-      |     ~~~~~~~~^~~~~~~~~~~
-LockTest.cpp:463:13: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
-  463 |     ::system( "pause" );
-      |     ~~~~~~~~^~~~~~~~~~~
-make[4]: *** [<builtin>: LockTest.o] Error 1
-make[4]: *** Waiting for unfinished jobs....
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmallObj'
-make[3]: *** [Makefile:12: SmallObj] Error 2
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Register'
 g++ -Wl,-z,relro -o Dependencies Dependencies.o ../../lib/libloki.a
-strong.cpp: In function 'void DoWeakLeakTest()':
-strong.cpp:329:24: warning: unused variable 'ctorCount' [-Wunused-variable]
-  329 |     const unsigned int ctorCount = Counted::GetCtorCount();
-      |                        ^~~~~~~~~
-strong.cpp:330:24: warning: unused variable 'dtorCount' [-Wunused-variable]
-  330 |     const unsigned int dtorCount = Counted::GetDtorCount();
-      |                        ^~~~~~~~~
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Singleton'
+make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmartPtr'
+make[3]: *** [Makefile:12: SmartPtr] Error 2
 main.cpp: In function 'int main(int, char**)':
 main.cpp:173:31: warning: '%u' directive writing between 1 and 5 bytes into a region of size 4 [-Wformat-overflow=]
   173 |                 sprintf(buf, "%u", width);
@@ -2054,13 +2099,9 @@
       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    32 |                                   __va_arg_pack ());
       |                                   ~~~~~~~~~~~~~~~~~
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Singleton'
-make[4]: *** [<builtin>: strong.o] Error 1
-make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SmartPtr'
-make[3]: *** [Makefile:12: SmartPtr] Error 2
-g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
 g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
 make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Pimpl'
+g++ -Wl,-z,relro -o main main.o ../../lib/libloki.a
 make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/SafeFormat'
 g++ -Wl,-z,relro -o Factory Factory.o ../../lib/libloki.a
 make[4]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test/Factory'
@@ -2071,7 +2112,7 @@
 make[3]: Leaving directory '/build/reproducible-path/libloki-0.1.7/test'
 make[2]: *** [Makefile:12: check] Error 2
 make[2]: Leaving directory '/build/reproducible-path/libloki-0.1.7'
-dh_auto_test: error: make -j20 check OS=Linux returned exit code 2
+dh_auto_test: error: make -j42 check OS=Linux returned exit code 2
 make[1]: [debian/rules:12: override_dh_auto_test] Error 25 (ignored)
 make[1]: Leaving directory '/build/reproducible-path/libloki-0.1.7'
    create-stamp debian/debhelper-build-stamp
@@ -2079,7 +2120,7 @@
    debian/rules override_dh_auto_install
 make[1]: Entering directory '/build/reproducible-path/libloki-0.1.7'
 dh_auto_install -- OS=Linux install prefix=/build/reproducible-path/libloki-0.1.7/debian/tmp/usr
-	make -j20 install DESTDIR=/build/reproducible-path/libloki-0.1.7/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" OS=Linux install prefix=/build/reproducible-path/libloki-0.1.7/debian/tmp/usr
+	make -j42 install DESTDIR=/build/reproducible-path/libloki-0.1.7/debian/tmp AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" OS=Linux install prefix=/build/reproducible-path/libloki-0.1.7/debian/tmp/usr
 make[2]: Entering directory '/build/reproducible-path/libloki-0.1.7'
 make -C src install-static
 make[3]: Entering directory '/build/reproducible-path/libloki-0.1.7/src'
@@ -2129,9 +2170,9 @@
    dh_md5sums
    dh_builddeb
 dpkg-deb: building package 'libloki0.1.7t64' in '../libloki0.1.7t64_0.1.7-6_amd64.deb'.
+dpkg-deb: building package 'libloki0.1.7t64-dbgsym' in '../libloki0.1.7t64-dbgsym_0.1.7-6_amd64.deb'.
 dpkg-deb: building package 'libloki-dev' in '../libloki-dev_0.1.7-6_amd64.deb'.
 dpkg-deb: building package 'libloki-doc' in '../libloki-doc_0.1.7-6_all.deb'.
-dpkg-deb: building package 'libloki0.1.7t64-dbgsym' in '../libloki0.1.7t64-dbgsym_0.1.7-6_amd64.deb'.
  dpkg-genbuildinfo --build=binary -O../libloki_0.1.7-6_amd64.buildinfo
  dpkg-genchanges --build=binary -O../libloki_0.1.7-6_amd64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -2139,12 +2180,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/419113/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/1156329 and its subdirectories
-I: Current time: Thu Mar  6 05:49:02 -12 2025
-I: pbuilder-time-stamp: 1741283342
+I: removing directory /srv/workspace/pbuilder/419113 and its subdirectories
+I: Current time: Thu Apr  9 14:12:55 +14 2026
+I: pbuilder-time-stamp: 1775693575