Index: src/libcfa/exception.c
===================================================================
--- src/libcfa/exception.c	(revision ad4458f259c8209f2c8cef98f845f5d060220fb3)
+++ src/libcfa/exception.c	(revision 0304215ae505d0c6b6830fa21d7be345b918dc63)
@@ -10,6 +10,6 @@
 // Created On       : Mon Jun 26 15:13:00 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Feb  9 14:41:55 2018
-// Update Count     : 8
+// Last Modified On : Thu Feb 22 18:17:34 2018
+// Update Count     : 11
 //
 
@@ -52,5 +52,5 @@
     struct __cfaabi_ehm__try_resume_node * current_resume;
 
-    exception * current_exception;
+    exception_t * current_exception;
     int current_handler_index;
 } shared_stack = {NULL, NULL, 0, 0};
@@ -71,12 +71,12 @@
 // This macro should be the only thing that needs to change across machines.  Used in the personality function, way down
 // in termination.
-// struct _Unwind_Context * -> _Unwind_Reason_Code(*)(exception *)
+// struct _Unwind_Context * -> _Unwind_Reason_Code(*)(exception_t *)
 #define MATCHER_FROM_CONTEXT(ptr_to_context) \
-	(*(_Unwind_Reason_Code(**)(exception*))(_Unwind_GetCFA(ptr_to_context) + 8))
+	(*(_Unwind_Reason_Code(**)(exception_t *))(_Unwind_GetCFA(ptr_to_context) + 8))
 
 
 // RESUMPTION ================================================================
 
-void __cfaabi_ehm__throw_resume(exception * except) {
+void __cfaabi_ehm__throw_resume(exception_t * except) {
 
 	__cfaabi_dbg_print_safe("Throwing resumption exception\n");
@@ -106,5 +106,5 @@
 
 void __cfaabi_ehm__try_resume_setup(struct __cfaabi_ehm__try_resume_node * node,
-                        _Bool (*handler)(exception * except)) {
+                        _Bool (*handler)(exception_t * except)) {
 	node->next = shared_stack.top_resume;
 	node->handler = handler;
@@ -126,9 +126,9 @@
 };
 
-#define NODE_TO_EXCEPT(node) ((exception *)(1 + (node)))
+#define NODE_TO_EXCEPT(node) ((exception_t *)(1 + (node)))
 #define EXCEPT_TO_NODE(except) ((struct __cfaabi_ehm__node *)(except) - 1)
 
 // Creates a copy of the indicated exception and sets current_exception to it.
-static void __cfaabi_ehm__allocate_exception( exception * except ) {
+static void __cfaabi_ehm__allocate_exception( exception_t * except ) {
 	struct exception_context_t * context = this_exception_context();
 
@@ -151,5 +151,5 @@
 
 // Delete the provided exception, unsetting current_exception if relivant.
-static void __cfaabi_ehm__delete_exception( exception * except ) {
+static void __cfaabi_ehm__delete_exception( exception_t * except ) {
 	struct exception_context_t * context = this_exception_context();
 
@@ -179,5 +179,5 @@
 // If this isn't a rethrow (*except==0), delete the provided exception.
 void __cfaabi_ehm__cleanup_terminate( void * except ) {
-	if ( *(void**)except ) __cfaabi_ehm__delete_exception( *(exception**)except );
+	if ( *(void**)except ) __cfaabi_ehm__delete_exception( *(exception_t **)except );
 }
 
@@ -233,5 +233,5 @@
 }
 
-void __cfaabi_ehm__throw_terminate( exception * val ) {
+void __cfaabi_ehm__throw_terminate( exception_t * val ) {
 	__cfaabi_dbg_print_safe("Throwing termination exception\n");
 
@@ -348,5 +348,5 @@
 					// _Unwind_Reason_Code (*matcher)() = (_Unwind_Reason_Code (*)())lsd_info.LPStart + imatcher;
 
-					_Unwind_Reason_Code (*matcher)(exception *) =
+					_Unwind_Reason_Code (*matcher)(exception_t *) =
 						MATCHER_FROM_CONTEXT(context);
 					int index = matcher(shared_stack.current_exception);
@@ -409,6 +409,6 @@
 __attribute__((noinline))
 void __cfaabi_ehm__try_terminate(void (*try_block)(),
-		void (*catch_block)(int index, exception * except),
-		__attribute__((unused)) int (*match_block)(exception * except)) {
+		void (*catch_block)(int index, exception_t * except),
+		__attribute__((unused)) int (*match_block)(exception_t * except)) {
 	//! volatile int xy = 0;
 	//! printf("%p %p %p %p\n", &try_block, &catch_block, &match_block, &xy);
Index: src/libcfa/exception.h
===================================================================
--- src/libcfa/exception.h	(revision ad4458f259c8209f2c8cef98f845f5d060220fb3)
+++ src/libcfa/exception.h	(revision 0304215ae505d0c6b6830fa21d7be345b918dc63)
@@ -9,7 +9,7 @@
 // Author           : Andrew Beach
 // Created On       : Mon Jun 26 15:11:00 2017
-// Last Modified By : Andrew Beach
-// Last Modified On : Thr Aug 17 15:44:00 2017
-// Update Count     : 6
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Feb 22 18:11:15 2018
+// Update Count     : 8
 //
 
@@ -22,5 +22,5 @@
 
 struct __cfaabi_ehm__base_exception_t;
-typedef struct __cfaabi_ehm__base_exception_t exception;
+typedef struct __cfaabi_ehm__base_exception_t exception_t;
 struct __cfaabi_ehm__base_exception_t_vtable {
 	const struct __cfaabi_ehm__base_exception_t_vtable * parent;
@@ -39,13 +39,13 @@
 
 // Used in throw statement translation.
-void __cfaabi_ehm__throw_terminate(exception * except) __attribute__((noreturn));
+void __cfaabi_ehm__throw_terminate(exception_t * except) __attribute__((noreturn));
 void __cfaabi_ehm__rethrow_terminate() __attribute__((noreturn));
-void __cfaabi_ehm__throw_resume(exception * except);
+void __cfaabi_ehm__throw_resume(exception_t * except);
 
 // Function catches termination exceptions.
 void __cfaabi_ehm__try_terminate(
     void (*try_block)(),
-    void (*catch_block)(int index, exception * except),
-    int (*match_block)(exception * except));
+    void (*catch_block)(int index, exception_t * except),
+    int (*match_block)(exception_t * except));
 
 // Clean-up the exception in catch blocks.
@@ -55,5 +55,5 @@
 struct __cfaabi_ehm__try_resume_node {
     struct __cfaabi_ehm__try_resume_node * next;
-    _Bool (*handler)(exception * except);
+    _Bool (*handler)(exception_t * except);
 };
 
@@ -61,5 +61,5 @@
 void __cfaabi_ehm__try_resume_setup(
     struct __cfaabi_ehm__try_resume_node * node,
-    _Bool (*handler)(exception * except));
+    _Bool (*handler)(exception_t * except));
 void __cfaabi_ehm__try_resume_cleanup(
     struct __cfaabi_ehm__try_resume_node * node);
Index: src/libcfa/stdhdr/math.h
===================================================================
--- src/libcfa/stdhdr/math.h	(revision ad4458f259c8209f2c8cef98f845f5d060220fb3)
+++ src/libcfa/stdhdr/math.h	(revision 0304215ae505d0c6b6830fa21d7be345b918dc63)
@@ -10,10 +10,20 @@
 // Created On       : Mon Jul  4 23:25:26 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Jul  5 20:38:18 2016
-// Update Count     : 12
+// Last Modified On : Thu Feb 22 18:16:07 2018
+// Update Count     : 13
 // 
 
 extern "C" {
+#if ! defined( exception )								// nesting ?
+#define exception `exception`							// make keyword an identifier
+#define __CFA_MATH_H__
+#endif
+
 #include_next <math.h>									// has internal check for multiple expansion
+
+#if defined( exception ) && defined( __CFA_MATH_H__ )	// reset only if set
+#undef exception
+#undef __CFA_MATH_H__
+#endif
 } // extern "C"
 
