Index: libcfa/src/Exception.hfa
===================================================================
--- libcfa/src/Exception.hfa	(revision 6b228cae996cd2d4f04e346a69d2105045e50bfb)
+++ libcfa/src/Exception.hfa	(revision 2810700a9b044557e84a36b6419e2a7cf30534df)
@@ -2,4 +2,6 @@
 
 // TEMPORARY
-#define ExceptionDecl( name, fields... ) exception name{ fields }; __attribute__(( cfa_linkonce )) vtable( name ) name ## _vt
-#define ExceptionInst( name, values... ) (name){ &name ## _vt, values }
+#define ExceptionDecl( name, fields... ) exception name{ fields }; \
+	__attribute__(( cfa_linkonce )) vtable( name ) name ## _vt
+#define ExceptionArgs( name, args... ) &name ## _vt, args
+#define ExceptionInst( name, args... ) (name){ ExceptionArgs( name, args ) }
Index: libcfa/src/fstream.cfa
===================================================================
--- libcfa/src/fstream.cfa	(revision 6b228cae996cd2d4f04e346a69d2105045e50bfb)
+++ libcfa/src/fstream.cfa	(revision 2810700a9b044557e84a36b6419e2a7cf30534df)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Feb  1 18:32:15 2024
-// Update Count     : 575
+// Last Modified On : Sun Feb 11 20:55:45 2024
+// Update Count     : 580
 //
 
@@ -321,6 +321,4 @@
 
 
-static vtable(open_failure) open_failure_vt;
-
 // exception I/O constructors
 void ?{}( open_failure & ex, ofstream & ostream ) with( ex ) {
@@ -337,6 +335,4 @@
 
 
-static vtable(close_failure) close_failure_vt;
-
 // exception I/O constructors
 void ?{}( close_failure & ex, ofstream & ostream ) with( ex ) {
@@ -353,6 +349,4 @@
 
 
-static vtable(write_failure) write_failure_vt;
-
 // exception I/O constructors
 void ?{}( write_failure & ex, ofstream & ostream ) with( ex ) {
@@ -369,6 +363,4 @@
 
 
-static vtable(read_failure) read_failure_vt;
-
 // exception I/O constructors
 void ?{}( read_failure & ex, ofstream & ostream ) with( ex ) {
Index: libcfa/src/fstream.hfa
===================================================================
--- libcfa/src/fstream.hfa	(revision 6b228cae996cd2d4f04e346a69d2105045e50bfb)
+++ libcfa/src/fstream.hfa	(revision 2810700a9b044557e84a36b6419e2a7cf30534df)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Oct 18 20:30:12 2023
-// Update Count     : 261
+// Last Modified On : Sun Feb 11 20:35:00 2024
+// Update Count     : 274
 //
 
@@ -139,5 +139,5 @@
 
 
-exception open_failure {
+ExceptionDecl( open_failure,
 	union {
 		ofstream * ostream;
@@ -146,10 +146,10 @@
 	// TEMPORARY: need polymorphic exceptions
 	int tag;											// 1 => ostream; 0 => istream
-};
+);
 
 void ?{}( open_failure & this, ofstream & );
 void ?{}( open_failure & this, ifstream & );
 
-exception close_failure {
+ExceptionDecl( close_failure,
 	union {
 		ofstream * ostream;
@@ -158,10 +158,10 @@
 	// TEMPORARY: need polymorphic exceptions
 	int tag;											// 1 => ostream; 0 => istream
-};
+);
 
 void ?{}( close_failure & this, ofstream & );
 void ?{}( close_failure & this, ifstream & );
 
-exception write_failure {
+ExceptionDecl( write_failure,
 	union {
 		ofstream * ostream;
@@ -170,10 +170,10 @@
 	// TEMPORARY: need polymorphic exceptions
 	int tag;											// 1 => ostream; 0 => istream
-};
+);
 
 void ?{}( write_failure & this, ofstream & );
 void ?{}( write_failure & this, ifstream & );
 
-exception read_failure {
+ExceptionDecl( read_failure,
 	union {
 		ofstream * ostream;
@@ -182,5 +182,5 @@
 	// TEMPORARY: need polymorphic exceptions
 	int tag;											// 1 => ostream; 0 => istream
-};
+);
 
 void ?{}( read_failure & this, ofstream & );
