#pragma once // TEMPORARY #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 ) }