Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/array_new.cpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/array_new.cpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/array_new.cpp	(revision 2118)
@@ -4,4 +4,28 @@
 {
 
+#define macrotyperank(_TYPE_,_RANK_)\
+  template<> int CArray<_TYPE_,_RANK_>::TV_ttf_display_type( const CArray<_TYPE_,_RANK_>* array ) \
+  {\
+    return show_TV_ttf_display_type (array) ;\
+  }
+
+#define macrotype(_TYPE_)\
+macrotyperank(_TYPE_,1)\
+macrotyperank(_TYPE_,2)\
+macrotyperank(_TYPE_,3)\
+macrotyperank(_TYPE_,4)\
+macrotyperank(_TYPE_,5)\
+macrotyperank(_TYPE_,6)\
+macrotyperank(_TYPE_,7)
+
+macrotype(double)
+macrotype(int)
+macrotype(bool)
+macrotype(size_t)
+macrotype(float)
+macrotype(string)
+
+#undef macrotyperank
+#undef macrotype
 
 }
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/array_new.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/array_new.hpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/array_new.hpp	(revision 2118)
@@ -299,5 +299,5 @@
         : Array<T_numtype,N_rank>(array, r0,r1, r2, r3, r4, r5, r6, r7, r8, r9, r10)
         , initialized(true)
-      { bool neverTrue ; neverTrue=false ; bool neverTrue ; neverTrue=false ; if(neverTrue) inc_symbol(); }
+      { bool neverTrue ; neverTrue=false ; if(neverTrue) inc_symbol(); }
 
       virtual ~CArray() {}
@@ -645,8 +645,5 @@
 
 #define macrotyperank(_TYPE_,_RANK_)\
-  template<> int CArray<_TYPE_,_RANK_>::TV_ttf_display_type( const CArray<_TYPE_,_RANK_>* array ) \
-  {\
-    return show_TV_ttf_display_type (array) ;\
-  }
+  template<> int CArray<_TYPE_,_RANK_>::TV_ttf_display_type( const CArray<_TYPE_,_RANK_>* array );
 
 #define macrotype(_TYPE_)\
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array.hpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array.hpp	(revision 2118)
@@ -118,8 +118,5 @@
 
 #define macrotyperank(_TYPE_,_RANK_)\
-  template<> int CAttributeArray<_TYPE_,_RANK_>::TV_ttf_display_type(const CAttributeArray<_TYPE_,_RANK_>* array ) \
-  {\
-    return CAttributeArray<_TYPE_,_RANK_>::show_TV_ttf_display_type (array) ;\
-  }
+  template<> int CAttributeArray<_TYPE_,_RANK_>::TV_ttf_display_type(const CAttributeArray<_TYPE_,_RANK_>* array );
 
 #define macrotype(_TYPE_)\
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array_decl.cpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array_decl.cpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array_decl.cpp	(revision 2118)
@@ -19,3 +19,29 @@
   template class CAttributeArray<StdString,1> ;
   template class CAttributeArray<StdString,2> ;
+
+#define macrotyperank(_TYPE_,_RANK_)					\
+  template<> int CAttributeArray<_TYPE_,_RANK_>::TV_ttf_display_type(const CAttributeArray<_TYPE_,_RANK_>* array ) \
+  {\
+    return CAttributeArray<_TYPE_,_RANK_>::show_TV_ttf_display_type (array) ;\
+  }
+
+#define macrotype(_TYPE_)\
+macrotyperank(_TYPE_,1)\
+macrotyperank(_TYPE_,2)\
+macrotyperank(_TYPE_,3)\
+macrotyperank(_TYPE_,4)\
+macrotyperank(_TYPE_,5)\
+macrotyperank(_TYPE_,6)\
+macrotyperank(_TYPE_,7)
+
+macrotype(double)
+macrotype(int)
+macrotype(bool)
+macrotype(size_t)
+macrotype(float)
+macrotype(string)
+
+#undef macrotyperank
+#undef macrotype
+
 }
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template.hpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template.hpp	(revision 2118)
@@ -146,8 +146,5 @@
 
 #define macrotype(_TYPE_)\
-  template<> int CAttributeTemplate<_TYPE_>::TV_ttf_display_type( const CAttributeTemplate<_TYPE_>* attr ) \
-  {\
-    return show_TV_ttf_display_type (attr) ;\
-  }
+  template<> int CAttributeTemplate<_TYPE_>::TV_ttf_display_type( const CAttributeTemplate<_TYPE_>* attr );
 
 macrotype(double)
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template_decl.cpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template_decl.cpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template_decl.cpp	(revision 2118)
@@ -12,3 +12,18 @@
   template class CAttributeTemplate<CDate> ;
   template class CAttributeTemplate<CDuration> ;
+
+#define macrotype(_TYPE_)						\
+  template<> int CAttributeTemplate<_TYPE_>::TV_ttf_display_type( const CAttributeTemplate<_TYPE_>* attr ) \
+  {\
+    return show_TV_ttf_display_type (attr) ;\
+  }
+
+macrotype(double)
+macrotype(int)
+macrotype(bool)
+macrotype(string)
+//macrotype(CDate)
+//macrotype(CDuration)
+#undef macrotype
+
 }
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/gatherer_connector.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/gatherer_connector.hpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/gatherer_connector.hpp	(revision 2118)
@@ -151,5 +151,5 @@
       void transfer(map<int, CArray<T,1>>& dataIn, CArray<T,1>& dataOut, T missingValue)
       {
-        transfer(1, 1, dataIn, dataout, missingValue)
+        transfer(1, 1, dataIn, dataOut, missingValue);
       }
       
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/scatterer_connector.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/scatterer_connector.hpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/distribution/scatterer_connector.hpp	(revision 2118)
@@ -50,5 +50,5 @@
     void transfer(int sizeT, const CArray<T,n>& dataIn, map<int, CArray<T,1>>& dataOut)
     {
-      transfer(1, sizeT, dataIn, dataOut)
+      transfer(1, sizeT, dataIn, dataOut);
     }
     
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/mpi_tools.cpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/mpi_tools.cpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/mpi_tools.cpp	(revision 2118)
@@ -27,3 +27,24 @@
   }
 
+  template<>
+  MPI_Datatype MPI_GetType<char>(void) { return MPI_CHAR ;}
+
+  template<>
+  MPI_Datatype MPI_GetType<short int>(void) { return MPI_SHORT ;}
+
+  template<>
+  MPI_Datatype MPI_GetType<int>(void) { return MPI_INT ;}
+
+  template<>
+  MPI_Datatype MPI_GetType<size_t>(void) { return MPI_SIZE_T ;}
+
+  template<>
+  MPI_Datatype MPI_GetType<float>(void) { return MPI_FLOAT ;}
+
+  template<>
+  MPI_Datatype MPI_GetType<double>(void) { return MPI_DOUBLE ;}
+
+  template<>
+  MPI_Datatype MPI_GetType<long double>(void) { return MPI_LONG_DOUBLE ;}
+
 }
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/mpi_tools.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/mpi_tools.hpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/mpi_tools.hpp	(revision 2118)
@@ -13,23 +13,23 @@
 
   template<>
-  MPI_Datatype MPI_GetType<char>(void) { return MPI_CHAR ;}
+  MPI_Datatype MPI_GetType<char>(void);
 
   template<>
-  MPI_Datatype MPI_GetType<short int>(void) { return MPI_SHORT ;}
+  MPI_Datatype MPI_GetType<short int>(void);
 
   template<>
-  MPI_Datatype MPI_GetType<int>(void) { return MPI_INT ;}
+  MPI_Datatype MPI_GetType<int>(void);
 
   template<>
-  MPI_Datatype MPI_GetType<size_t>(void) { return MPI_SIZE_T ;}
+  MPI_Datatype MPI_GetType<size_t>(void);
 
   template<>
-  MPI_Datatype MPI_GetType<float>(void) { return MPI_FLOAT ;}
+  MPI_Datatype MPI_GetType<float>(void);
 
   template<>
-  MPI_Datatype MPI_GetType<double>(void) { return MPI_DOUBLE ;}
+  MPI_Datatype MPI_GetType<double>(void);
 
   template<>
-  MPI_Datatype MPI_GetType<long double>(void) { return MPI_LONG_DOUBLE ;}
+  MPI_Datatype MPI_GetType<long double>(void);
 
 
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/transformation.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/transformation.hpp	(revision 2117)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/transformation.hpp	(revision 2118)
@@ -5,4 +5,5 @@
 #include "xml_node.hpp"
 #include "transformation_enum.hpp"
+#include "exception.hpp"
 
 namespace xios {
