Index: libcfa/src/bits/containers.hfa
===================================================================
--- libcfa/src/bits/containers.hfa	(revision 8c3a0336d1b9f37a088d18644f11e4b63c247629)
+++ libcfa/src/bits/containers.hfa	(revision ffe2fad44a1e0e5936b3a5eb325178f2f44fcf5f)
@@ -186,5 +186,5 @@
 
 	forall(dtype T | is_node(T))
-	static inline bool ?!=?( __queue(T) & this, zero_t zero ) {
+	static inline bool ?!=?( __queue(T) & this, __attribute__((unused)) zero_t zero ) {
 		return this.head != 0;
 	}
@@ -196,5 +196,5 @@
 //-----------------------------------------------------------------------------
 #ifdef __cforall
-	forall(dtype TYPE | sized(TYPE))
+	forall(dtype TYPE)
 	#define T TYPE
 	#define __getter_t * [T * & next, T * & prev] ( T & )
@@ -268,5 +268,5 @@
 
 	forall(dtype T | sized(T))
-	static inline bool ?!=?( __dllist(T) & this, zero_t zero ) {
+	static inline bool ?!=?( __dllist(T) & this, __attribute__((unused)) zero_t zero ) {
 		return this.head != 0;
 	}
Index: libcfa/src/concurrency/coroutine.cfa
===================================================================
--- libcfa/src/concurrency/coroutine.cfa	(revision 8c3a0336d1b9f37a088d18644f11e4b63c247629)
+++ libcfa/src/concurrency/coroutine.cfa	(revision ffe2fad44a1e0e5936b3a5eb325178f2f44fcf5f)
@@ -70,5 +70,7 @@
 	bool userStack = ((intptr_t)this.storage & 0x1) != 0;
 	if ( ! userStack && this.storage ) {
-		*((intptr_t*)&this.storage) &= (intptr_t)-1;
+		__attribute__((may_alias)) intptr_t * istorage = (intptr_t *)&this.storage;
+		*istorage &= (intptr_t)-1;
+
 		void * storage = this.storage->limit;
 		__cfaabi_dbg_debug_do(
@@ -174,5 +176,6 @@
 	this->storage->limit = storage;
 	this->storage->base  = (void*)((intptr_t)storage + size);
-	*((intptr_t*)&this->storage) |= userStack ? 0x1 : 0x0;
+	__attribute__((may_alias)) intptr_t * istorage = (intptr_t*)&this->storage;
+	*istorage |= userStack ? 0x1 : 0x0;
 }
 
Index: libcfa/src/concurrency/invoke.h
===================================================================
--- libcfa/src/concurrency/invoke.h	(revision 8c3a0336d1b9f37a088d18644f11e4b63c247629)
+++ libcfa/src/concurrency/invoke.h	(revision ffe2fad44a1e0e5936b3a5eb325178f2f44fcf5f)
@@ -199,7 +199,7 @@
 	#ifdef __cforall
 	extern "Cforall" {
-		static inline struct coroutine_desc * volatile active_coroutine() { return TL_GET( this_thread )->curr_cor; }
-		static inline struct thread_desc    * volatile active_thread   () { return TL_GET( this_thread    ); }
-		static inline struct processor      * volatile active_processor() { return TL_GET( this_processor ); } // UNSAFE
+		static inline struct coroutine_desc * active_coroutine() { return TL_GET( this_thread )->curr_cor; }
+		static inline struct thread_desc    * active_thread   () { return TL_GET( this_thread    ); }
+		static inline struct processor      * active_processor() { return TL_GET( this_processor ); } // UNSAFE
 
 		static inline thread_desc * & get_next( thread_desc & this ) {
Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision 8c3a0336d1b9f37a088d18644f11e4b63c247629)
+++ libcfa/src/concurrency/kernel.cfa	(revision ffe2fad44a1e0e5936b3a5eb325178f2f44fcf5f)
@@ -165,5 +165,6 @@
 		base      = info->base;
 	}
-	*((intptr_t*)&stack.storage) |= 0x1;
+	__attribute__((may_alias)) intptr_t * istorage = (intptr_t*) &stack.storage;
+	*istorage |= 0x1;
 	name = "Main Thread";
 	state = Start;
Index: libcfa/src/time.hfa
===================================================================
--- libcfa/src/time.hfa	(revision 8c3a0336d1b9f37a088d18644f11e4b63c247629)
+++ libcfa/src/time.hfa	(revision ffe2fad44a1e0e5936b3a5eb325178f2f44fcf5f)
@@ -30,5 +30,5 @@
 
 static inline {
-	Duration ?=?( Duration & dur, zero_t ) { return dur{ 0 }; }
+	Duration ?=?( Duration & dur, __attribute__((unused)) zero_t ) { return dur{ 0 }; }
 
 	Duration +?( Duration rhs ) with( rhs ) {	return (Duration)@{ +tv }; }
@@ -59,10 +59,10 @@
 	bool ?>=?( Duration lhs, Duration rhs ) { return lhs.tv >= rhs.tv; }
 
-	bool ?==?( Duration lhs, zero_t ) { return lhs.tv == 0; }
-	bool ?!=?( Duration lhs, zero_t ) { return lhs.tv != 0; }
-	bool ?<? ( Duration lhs, zero_t ) { return lhs.tv <  0; }
-	bool ?<=?( Duration lhs, zero_t ) { return lhs.tv <= 0; }
-	bool ?>? ( Duration lhs, zero_t ) { return lhs.tv >  0; }
-	bool ?>=?( Duration lhs, zero_t ) { return lhs.tv >= 0; }
+	bool ?==?( Duration lhs, __attribute__((unused)) zero_t ) { return lhs.tv == 0; }
+	bool ?!=?( Duration lhs, __attribute__((unused)) zero_t ) { return lhs.tv != 0; }
+	bool ?<? ( Duration lhs, __attribute__((unused)) zero_t ) { return lhs.tv <  0; }
+	bool ?<=?( Duration lhs, __attribute__((unused)) zero_t ) { return lhs.tv <= 0; }
+	bool ?>? ( Duration lhs, __attribute__((unused)) zero_t ) { return lhs.tv >  0; }
+	bool ?>=?( Duration lhs, __attribute__((unused)) zero_t ) { return lhs.tv >= 0; }
 
 	Duration abs( Duration rhs ) { return rhs.tv >= 0 ? rhs : -rhs; }
@@ -101,7 +101,7 @@
 	void ?{}( timeval & t, time_t sec, suseconds_t usec ) { t.tv_sec = sec; t.tv_usec = usec; }
 	void ?{}( timeval & t, time_t sec ) { t{ sec, 0 }; }
-	void ?{}( timeval & t, zero_t ) { t{ 0, 0 }; }
-
-	timeval ?=?( timeval & t, zero_t ) { return t{ 0 }; }
+	void ?{}( timeval & t, __attribute__((unused)) zero_t ) { t{ 0, 0 }; }
+
+	timeval ?=?( timeval & t, __attribute__((unused)) zero_t ) { return t{ 0 }; }
 	timeval ?+?( timeval lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_usec + rhs.tv_usec }; }
 	timeval ?-?( timeval lhs, timeval rhs ) { return (timeval)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_usec - rhs.tv_usec }; }
@@ -116,7 +116,7 @@
 	void ?{}( timespec & t, time_t sec, __syscall_slong_t nsec ) { t.tv_sec = sec; t.tv_nsec = nsec; }
 	void ?{}( timespec & t, time_t sec ) { t{ sec, 0}; }
-	void ?{}( timespec & t, zero_t ) { t{ 0, 0 }; }
-
-	timespec ?=?( timespec & t, zero_t ) { return t{ 0 }; }
+	void ?{}( timespec & t, __attribute__((unused)) zero_t ) { t{ 0, 0 }; }
+
+	timespec ?=?( timespec & t, __attribute__((unused)) zero_t ) { return t{ 0 }; }
 	timespec ?+?( timespec lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec + rhs.tv_sec, lhs.tv_nsec + rhs.tv_nsec }; }
 	timespec ?-?( timespec lhs, timespec rhs ) { return (timespec)@{ lhs.tv_sec - rhs.tv_sec, lhs.tv_nsec - rhs.tv_nsec }; }
@@ -145,5 +145,5 @@
 void ?{}( Time & time, int year, int month = 0, int day = 0, int hour = 0, int min = 0, int sec = 0, int nsec = 0 );
 static inline {
-	Time ?=?( Time & time, zero_t ) { return time{ 0 }; }
+	Time ?=?( Time & time, __attribute__((unused)) zero_t ) { return time{ 0 }; }
 
 	void ?{}( Time & time, timeval t ) with( time ) { tv = (int64_t)t.tv_sec * TIMEGRAN + t.tv_usec * 1000; }
Index: libcfa/src/time_t.hfa
===================================================================
--- libcfa/src/time_t.hfa	(revision 8c3a0336d1b9f37a088d18644f11e4b63c247629)
+++ libcfa/src/time_t.hfa	(revision ffe2fad44a1e0e5936b3a5eb325178f2f44fcf5f)
@@ -24,5 +24,5 @@
 
 static inline void ?{}( Duration & dur ) with( dur ) { tv = 0; }
-static inline void ?{}( Duration & dur, zero_t ) with( dur ) { tv = 0; }
+static inline void ?{}( Duration & dur, __attribute__((unused)) zero_t ) with( dur ) { tv = 0; }
 
 
@@ -34,5 +34,5 @@
 
 static inline void ?{}( Time & time ) with( time ) { tv = 0; }
-static inline void ?{}( Time & time, zero_t ) with( time ) { tv = 0; }
+static inline void ?{}( Time & time, __attribute__((unused)) zero_t ) with( time ) { tv = 0; }
 
 // Local Variables: //
