Index: libcfa/prelude/builtins.c
===================================================================
--- libcfa/prelude/builtins.c	(revision 5780d0daa4264756677240ebbf2a1ad74597dadb)
+++ libcfa/prelude/builtins.c	(revision a6b48f68cb246083ed368992a7503a9f6220110c)
@@ -27,5 +27,5 @@
 // Defined destructor in the case that non-generated code wants to use __Destructor.
 forall( T & )
-static inline void ^?{}( __Destructor(T) & x ) {
+inline void ^?{}( __Destructor(T) & x ) {
 	if ( x.object && x.dtor ) {
 		x.dtor( x.object );
@@ -52,5 +52,5 @@
 
 forall( T & )
-static inline T & identity( T & i ) {
+inline T & identity( T & i ) {
 	return i;
 }
@@ -61,6 +61,6 @@
 };
 
-static inline void  ?{}( generator$ & this ) { ((int&)this) = 0; }
-static inline void ^?{}( generator$ & ) {}
+inline void  ?{}( generator$ & this ) { ((int&)this) = 0; }
+inline void ^?{}( generator$ & ) {}
 
 forall( T & )
@@ -71,5 +71,5 @@
 
 forall( T & | is_generator( T ) )
-static inline T & resume( T & gen ) {
+inline T & resume( T & gen ) {
 	main( gen );
 	return gen;
@@ -93,5 +93,5 @@
 // C11 reference manual Section 6.5.16 (page 101): "An assignment expression has the value of the left operand after the
 // assignment, but is not an lvalue." Hence, return a value not a reference.
-static inline {
+inline {
 	forall( T& | is_value(T) | { T ?+=?( T &, one_t ); } )
 	T ++?( T & x ) { return x += 1; }
@@ -116,5 +116,5 @@
 #if defined(__SIZEOF_INT128__)
 // constructor for 128-bit numbers (all constants are unsigned as +/- are operators)
-static inline void ?{}( unsigned int128 & this, unsigned long int h, unsigned long int l ) {
+inline void ?{}( unsigned int128 & this, unsigned long int h, unsigned long int l ) {
 	this = (unsigned int128)h << 64 | (unsigned int128)l;
 } // ?{}
@@ -133,5 +133,5 @@
 } // extern "C"
 
-static inline {											// wrappers
+inline {
 	float ?\?( float x, float y ) { return powf( x, y ); }
 	double ?\?( double x, double y ) { return pow( x, y ); }
@@ -156,5 +156,5 @@
 } // distribution
 
-static inline {
+inline {
 	int ?\=?( int & x, unsigned int y ) { x = x \ y; return x; }
 	long int ?\=?( long int & x, unsigned long int y ) { x = x \ y; return x; }
@@ -189,6 +189,5 @@
 };
 
-static inline
-forall( E | Serial( E ) ) {
+inline forall( E | Serial( E ) ) {
 	E fromInt( int i ) {
 		E upper = upperBound();
@@ -222,6 +221,5 @@
 }
 
-static inline
-forall( E | CfaEnum( E ) ) {
+inline forall( E | CfaEnum( E ) ) {
 	int ?==?( E l, E r ) { return posn( l ) == posn( r ); }
 	int ?!=?( E l, E r ) { return posn( l ) != posn( r ); }
@@ -232,6 +230,5 @@
 }
 
-static inline
-forall( E | Serial( E ) ) {
+inline forall( E | Serial( E ) ) {
 	E ?+=?( E & l, one_t ) {
 		int pos = fromInstance( l );
