X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1de36c3be200c3edc5c3239ba3784bb1dc1499cb..66d97e68ea51b5514594e5818f75c7d844586eae:/include/xbt/misc.h diff --git a/include/xbt/misc.h b/include/xbt/misc.h index cbfd518e71..44a3b79ba1 100644 --- a/include/xbt/misc.h +++ b/include/xbt/misc.h @@ -56,6 +56,18 @@ # define XBT_INLINE inline #endif +/* improvable on gcc (by evaluating arguments only once), but wouldn't be portable */ +#ifdef MIN +# undef MIN +#endif +#define MIN(a,b) ((a)<(b)?(a):(b)) + +#ifdef MAX +# undef MAX +#endif +#define MAX(a,b) ((a)>(b)?(a):(b)) + + /* * Function calling convention (not used for now) */ @@ -115,37 +127,35 @@ # define XBT_PUBLIC(type) __declspec(dllexport) type # define XBT_EXPORT_NO_IMPORT(type) __declspec(dllexport) type # define XBT_IMPORT_NO_EXPORT(type) type -# define XBT_DECLARE_DATA __declspec(dllexport) +# define XBT_PUBLIC_DATA(type) __declspec(dllexport) type /* Pack everything up statically */ #elif defined(DLL_STATIC) # define XBT_PUBLIC(type) type # define XBT_EXPORT_NO_IMPORT(type) type # define XBT_IMPORT_NO_EXPORT(type) type -# define XBT_DECLARE_DATA +# define XBT_PUBLIC_DATA(type) type + /* Link against the DLL */ #elif (defined(_WIN32) && !defined(DLL_EXPORT)) -# define XBT_PUBLIC(type) __declspec(dllimport) type -# define XBT_EXPORT_NO_IMPORT(type) type -# define XBT_IMPORT_NO_EXPORT(type) __declspec(dllimport) type -# define XBT_DECLARE_DATA __declspec(dllimport) +# define XBT_PUBLIC(type) __declspec(dllimport) type +# define XBT_EXPORT_NO_IMPORT(type) type +# define XBT_IMPORT_NO_EXPORT(type) __declspec(dllimport) type +# define XBT_PUBLIC_DATA(type) __declspec(dllimport) type -/* Non-UNIX build. Let's keep sain here ;) */ +/* UNIX build. Let's keep sain here ;) */ #else # define XBT_PUBLIC(type) extern type # define XBT_EXPORT_NO_IMPORT(type) type # define XBT_IMPORT_NO_EXPORT(type) type -# define XBT_DECLARE_DATA +# define XBT_PUBLIC_DATA(type) extern type #endif - - - -#ifndef max +#if !defined (max) && !defined(__cplusplus) # define max(a,b) (((a) > (b)) ? (a) : (b)) #endif -#ifndef min +#if !defined (min) && !defined(__cplusplus) # define min(a,b) (((a) < (b)) ? (a) : (b)) #endif @@ -162,7 +172,6 @@ # endif #endif -/*! C++ users need love */ #ifndef SG_END_DECL # ifdef __cplusplus # define SG_END_DECL() }