From 11581ca9ee8a42277c6514c07c12235e17413d99 Mon Sep 17 00:00:00 2001 From: Baruch Sterin Date: Fri, 20 Nov 2015 21:06:23 -0800 Subject: move namespace logic into a separate file. It is useful for users of ABC that need to use symbols without the entire baggage of including abc_global.h --- src/misc/util/abc_global.h | 28 +-------------------- src/misc/util/abc_namespaces.h | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 27 deletions(-) create mode 100644 src/misc/util/abc_namespaces.h (limited to 'src') diff --git a/src/misc/util/abc_global.h b/src/misc/util/abc_global.h index 56817092..00d5d514 100644 --- a/src/misc/util/abc_global.h +++ b/src/misc/util/abc_global.h @@ -84,33 +84,7 @@ #endif #endif -//////////////////////////////////////////////////////////////////////// -/// NAMESPACES /// -//////////////////////////////////////////////////////////////////////// - -//#define ABC_NAMESPACE xxx - -#ifdef __cplusplus -# ifdef ABC_NAMESPACE -# define ABC_NAMESPACE_HEADER_START namespace ABC_NAMESPACE { -# define ABC_NAMESPACE_HEADER_END } -# define ABC_NAMESPACE_IMPL_START namespace ABC_NAMESPACE { -# define ABC_NAMESPACE_IMPL_END } -# define ABC_NAMESPACE_PREFIX ABC_NAMESPACE:: -# else -# define ABC_NAMESPACE_HEADER_START extern "C" { -# define ABC_NAMESPACE_HEADER_END } -# define ABC_NAMESPACE_IMPL_START -# define ABC_NAMESPACE_IMPL_END -# define ABC_NAMESPACE_PREFIX -# endif // #ifdef ABC_NAMESPACE -#else -# define ABC_NAMESPACE_HEADER_START -# define ABC_NAMESPACE_HEADER_END -# define ABC_NAMESPACE_IMPL_START -# define ABC_NAMESPACE_IMPL_END -# define ABC_NAMESPACE_PREFIX -#endif // #ifdef __cplusplus +#include "abc_namespaces.h" //////////////////////////////////////////////////////////////////////// /// PARAMETERS /// diff --git a/src/misc/util/abc_namespaces.h b/src/misc/util/abc_namespaces.h new file mode 100644 index 00000000..78cad35b --- /dev/null +++ b/src/misc/util/abc_namespaces.h @@ -0,0 +1,55 @@ +/**CFile**************************************************************** + + FileName [abc_namespaces.h] + + SystemName [ABC: Logic synthesis and verification system.] + + PackageName [Namespace logic.] + + Synopsis [] + + Author [Alan Mishchenko] + + Affiliation [UC Berkeley] + + Date [Ver. 1.0. Started - Nov 20, 2015.] + + Revision [] + +***********************************************************************/ + +#ifndef ABC__misc__util__abc_namespaces_h +#define ABC__misc__util__abc_namespaces_h + + +//////////////////////////////////////////////////////////////////////// +/// NAMESPACES /// +//////////////////////////////////////////////////////////////////////// + +#ifdef __cplusplus +# ifdef ABC_NAMESPACE +# define ABC_NAMESPACE_HEADER_START namespace ABC_NAMESPACE { +# define ABC_NAMESPACE_HEADER_END } +# define ABC_NAMESPACE_IMPL_START namespace ABC_NAMESPACE { +# define ABC_NAMESPACE_IMPL_END } +# define ABC_NAMESPACE_PREFIX ABC_NAMESPACE:: +# else +# define ABC_NAMESPACE_HEADER_START extern "C" { +# define ABC_NAMESPACE_HEADER_END } +# define ABC_NAMESPACE_IMPL_START +# define ABC_NAMESPACE_IMPL_END +# define ABC_NAMESPACE_PREFIX +# endif // #ifdef ABC_NAMESPACE +#else +# define ABC_NAMESPACE_HEADER_START +# define ABC_NAMESPACE_HEADER_END +# define ABC_NAMESPACE_IMPL_START +# define ABC_NAMESPACE_IMPL_END +# define ABC_NAMESPACE_PREFIX +#endif // #ifdef __cplusplus + +#endif // #ifndef ABC__misc__util__abc_namespaces_h + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// -- cgit v1.2.3