Index: tests/concurrency/lockfree_stack.cfa
===================================================================
--- tests/concurrency/lockfree_stack.cfa	(revision 55266c71e1748ef567376ebf1113f255ed1eed9d)
+++ tests/concurrency/lockfree_stack.cfa	(revision 37b2c2cf49856389b88e62c53ece09cfedc9d456)
@@ -10,6 +10,6 @@
 // Created On       : Thu May 25 15:36:50 2023
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue May 30 19:02:32 2023
-// Update Count     : 18
+// Last Modified On : Fri Jun  9 14:01:07 2023
+// Update Count     : 68
 // 
 
@@ -29,5 +29,5 @@
 	int64_t atom;
 	#endif // __SIZEOF_INT128__
-} __attribute__(( aligned( 16 ) ));
+};
 
 struct Node {
@@ -42,5 +42,6 @@
 	n.next = stack;										// atomic assignment unnecessary
 	for () {											// busy wait
-		if ( CASV( stack.atom, n.next.atom, ((Link){ &n, n.next.count + 1 }.atom) ) ) break; // attempt to update top node
+		Link temp{ &n, n.next.count + 1 };
+		if ( CASV( s.stack.atom, n.next.atom, temp.atom ) ) break; // attempt to update top node
 	}
 }
@@ -50,5 +51,6 @@
 	for () {											// busy wait
 		if ( t.top == NULL ) return NULL;				// empty stack ?
-		if ( CASV( stack.atom, t.atom, ((Link){ t.top->next.top, t.count }.atom) ) ) return t.top; // attempt to update top node
+		Link temp{ t.top->next.top, t.count };
+		if ( CASV( stack.atom, t.atom, temp.atom ) ) return t.top; // attempt to update top node
 	}
 }
@@ -57,11 +59,5 @@
 Stack stack;											// global stack
 
-enum { Times =
-	#if defined( __ARM_ARCH )							// ARM CASV is very slow
-	10_000
-	#else
-	1_000_000
-	#endif // __arm_64__
-};
+enum { Times = 2_000_000 };
 
 thread Worker {};
@@ -82,6 +78,5 @@
 
 	for ( i; N ) {										// push N values on stack
-		// storage must be 16-bytes aligned for cmpxchg16b
-		push( stack, *(Node *)memalign( 16, sizeof( Node ) ) );
+		push( stack, *(Node *)new() );					// must be 16-byte aligned
 	}
 	{
