Index: libcfa/src/containers/stackLockFree.hfa
===================================================================
--- libcfa/src/containers/stackLockFree.hfa	(revision 0f89d4f6038337e8a92e6d44876066ca3eae85f5)
+++ libcfa/src/containers/stackLockFree.hfa	(revision bdce852941b067571ca3876cdcd3c249e5a8aae1)
@@ -9,6 +9,6 @@
 // Created On       : Wed May 13 20:58:58 2020
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon May 18 13:30:08 2020
-// Update Count     : 55
+// Last Modified On : Sun Jun 14 13:25:09 2020
+// Update Count     : 64
 //
 
@@ -19,17 +19,17 @@
 forall( dtype T )
 union Link {
-	struct {									// 32/64-bit x 2
+	struct {											// 32/64-bit x 2
 		T * volatile top;								// pointer to stack top
-		uintptr_t count;						// count each push
+		uintptr_t count;								// count each push
 	};
 	#if __SIZEOF_INT128__ == 16
-	__int128									// gcc, 128-bit integer
+	__int128											// gcc, 128-bit integer
 	#else
-	uint64_t									// 64-bit integer
+	uint64_t											// 64-bit integer
 	#endif // __SIZEOF_INT128__ == 16
 	atom;
 }; // Link
 
-forall( otype T | { Link(T) * ?`next( T * ); } ) {
+forall( otype T | sized(T) | { Link(T) * ?`next( T * ); } ) {
 	struct StackLF {
 		Link(T) stack;
@@ -42,6 +42,6 @@
 
 		void push( StackLF(T) & this, T & n ) with(this) {
+			*( &n )`next = stack;					// atomic assignment unnecessary, or use CAA
 			for () {									// busy wait
-				*( &n )`next = stack;					// atomic assignment unnecessary, or use CAA
 			  if ( __atomic_compare_exchange_n( &stack.atom, &( &n )`next->atom, (Link(T))@{ {&n, ( &n )`next->count + 1} }.atom, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) ) break; // attempt to update top node
 			} // for
@@ -49,7 +49,6 @@
 
 		T * pop( StackLF(T) & this ) with(this) {
-			Link(T) t @= {};
+			Link(T) t @= stack;							// atomic assignment unnecessary, or use CAA
 			for () {									// busy wait
-				t = stack;								// atomic assignment unnecessary, or use CAA
 			  if ( t.top == 0p ) return 0p;				// empty stack ?
 			  if ( __atomic_compare_exchange_n( &stack.atom, &t.atom, (Link(T))@{ {( t.top )`next->top, t.count} }.atom, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST ) ) return t.top; // attempt to update top node
Index: libcfa/src/containers/vector.hfa
===================================================================
--- libcfa/src/containers/vector.hfa	(revision 0f89d4f6038337e8a92e6d44876066ca3eae85f5)
+++ libcfa/src/containers/vector.hfa	(revision bdce852941b067571ca3876cdcd3c249e5a8aae1)
@@ -10,13 +10,11 @@
 // Created On       : Tue Jul  5 18:00:07 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Jul 22 10:01:18 2017
-// Update Count     : 3
+// Last Modified On : Wed Jun 17 11:02:46 2020
+// Update Count     : 4
 //
 
 #pragma once
 
-extern "C" {
 #include <stdbool.h>
-}
 
 //------------------------------------------------------------------------------
