X-Git-Url: https://ginac.de/CLN/cln.git//cln.git?a=blobdiff_plain;f=src%2Fbase%2Fcl_macros.h;h=60a39e956bf19d0caf59fe77cd9a9efb4d28913f;hb=67afbefaff61817e08faf507f74f1bb8f5206a8a;hp=ec4999522c04b658175df14117f3f76e0ccddc37;hpb=e52830748240df6b0ab51d8a78243c88132f6c75;p=cln.git diff --git a/src/base/cl_macros.h b/src/base/cl_macros.h index ec49995..60a39e9 100644 --- a/src/base/cl_macros.h +++ b/src/base/cl_macros.h @@ -4,6 +4,7 @@ #define _CL_MACROS_H #include "cln/types.h" +#include "cln/exception.h" // Concatenation of macroexpanded tokens. // Example: @@ -73,10 +74,7 @@ // Denotes a point where control flow can never arrive. // NOTREACHED - #define NOTREACHED cl_notreached_abort(__FILE__,__LINE__); -namespace cln { - nonreturning_function(extern,cl_notreached_abort, (const char* filename, int lineno)); -} // namespace cln + #define NOTREACHED throw notreached_exception(__FILE__,__LINE__); // Check an arithmetic expression. // ASSERT(expr) @@ -196,7 +194,7 @@ namespace cln { } // doconsttimes(count,statement); -// führt statement count mal aus (count mal der Code!), +// führt statement count mal aus (count mal der Code!), // wobei count eine constant-expression >=0, <=8 ist. #define doconsttimes(count_from_doconsttimes,statement_from_doconsttimes) \ { if (0 < (count_from_doconsttimes)) { statement_from_doconsttimes; } \ @@ -212,7 +210,7 @@ namespace cln { // DOCONSTTIMES(count,macroname); // ruft count mal den Macro macroname auf (count mal der Code!), // wobei count eine constant-expression >=0, <=8 ist. -// Dabei bekommt macroname der Reihe nach die Werte 0,...,count-1 übergeben. +// Dabei bekommt macroname der Reihe nach die Werte 0,...,count-1 übergeben. #define DOCONSTTIMES(count_from_DOCONSTTIMES,macroname_from_DOCONSTTIMES) \ { if (0 < (count_from_DOCONSTTIMES)) { macroname_from_DOCONSTTIMES((0 < (count_from_DOCONSTTIMES) ? 0 : 0)); } \ if (1 < (count_from_DOCONSTTIMES)) { macroname_from_DOCONSTTIMES((1 < (count_from_DOCONSTTIMES) ? 1 : 0)); } \ @@ -267,9 +265,6 @@ public: \ // it's a shame!) #define init1(type,lvalue) (void) new (&(lvalue)) type -// MAYBE_INLINE normally expands to nothing. -// Useful for including the implementation of some file inline into another. - #define MAYBE_INLINE - #define MAYBE_INLINE2 +#include "cl_maybe_inline.h" #endif /* _CL_MACROS_H */