Index: libcfa/prelude/builtins.c
===================================================================
--- libcfa/prelude/builtins.c	(revision c9f9d4fa0f8c21b313d7d200fe5978130a462a5e)
+++ libcfa/prelude/builtins.c	(revision c99a0d1d83786675887a035019c801e7cbfeed0c)
@@ -10,6 +10,6 @@
 // Created On       : Fri Jul 21 16:21:03 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jul 21 13:31:34 2021
-// Update Count     : 129
+// Last Modified On : Sat Aug 14 08:45:54 2021
+// Update Count     : 133
 //
 
@@ -107,4 +107,8 @@
 #endif // __SIZEOF_INT128__
 
+// for-control index constraints
+// forall( T | { void ?{}( T &, zero_t ); void ?{}( T &, one_t ); T ?+=?( T &, T ); T ?-=?( T &, T ); int ?<?( T, T ); } )
+// static inline T __for_control_index_constraints__( T t ) { return t; }
+
 // exponentiation operator implementation
 
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision c9f9d4fa0f8c21b313d7d200fe5978130a462a5e)
+++ src/Parser/parser.yy	(revision c99a0d1d83786675887a035019c801e7cbfeed0c)
@@ -10,6 +10,6 @@
 // Created On       : Sat Sep  1 20:22:55 2001
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul 20 22:03:04 2021
-// Update Count     : 5031
+// Last Modified On : Sun Aug  8 09:14:44 2021
+// Update Count     : 5038
 //
 
@@ -185,4 +185,5 @@
 		type = new ExpressionNode( new CastExpr( maybeMoveBuild<Expression>(type), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ) );
 	} // if
+//	type = new ExpressionNode( build_func( new ExpressionNode( build_varref( new string( "__for_control_index_constraints__" ) ) ), type ) );
 	return new ForCtrl(
 		distAttr( DeclarationNode::newTypeof( type, true ), DeclarationNode::newName( index )->addInitializer( new InitializerNode( start ) ) ),
