From 61bdd4cb94689827db0c325dfed71f6b7a68147c Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Sun, 25 Oct 2009 10:19:38 +0000 Subject: [PATCH] make embryo compile with vc++ and suncc. No change for gcc. Though i don't know if it is the correct fix... Raster, if you have some time, can you check it, please ? SVN revision: 43261 --- legacy/embryo/src/lib/Embryo.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/legacy/embryo/src/lib/Embryo.h b/legacy/embryo/src/lib/Embryo.h index 50ab73149e..5083a51e05 100644 --- a/legacy/embryo/src/lib/Embryo.h +++ b/legacy/embryo/src/lib/Embryo.h @@ -86,10 +86,17 @@ extern "C" { Embryo_Cell c; } Embryo_Float_Cell; +#if defined _MSC_VER || defined __SUNPRO_C /** Float to Embryo_Cell */ -#define EMBRYO_FLOAT_TO_CELL(f) ((Embryo_Float_Cell) f).c +# define EMBRYO_FLOAT_TO_CELL(f) (((Embryo_Float_Cell *)&(f))->c) /** Embryo_Cell to float */ -#define EMBRYO_CELL_TO_FLOAT(c) ((Embryo_Float_Cell) c).f +# define EMBRYO_CELL_TO_FLOAT(c) (((Embryo_Float_Cell *)&(c))->f) +#else +/** Float to Embryo_Cell */ +# define EMBRYO_FLOAT_TO_CELL(f) ((Embryo_Float_Cell) f).c +/** Embryo_Cell to float */ +# define EMBRYO_CELL_TO_FLOAT(c) ((Embryo_Float_Cell) c).f +#endif EAPI int embryo_init(void); EAPI int embryo_shutdown(void);