From: Gonzalo A. <ga...@us...> - 2006-09-12 14:31:13
|
Update of /cvsroot/mod-c/ehtml/include In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv30048/include Modified Files: Plugin.h Log Message: * gcc 3.1.1 does not emit Pluggable<SessionDriver>::_map symbols when using template<>. This patch makes gcc 3.1.1 happy again. Index: Plugin.h =================================================================== RCS file: /cvsroot/mod-c/ehtml/include/Plugin.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Plugin.h 12 Sep 2006 12:55:18 -0000 1.2 --- Plugin.h 12 Sep 2006 14:31:02 -0000 1.3 *************** *** 47,53 **** }; #define DECLARE_PLUGIN(C) \ ! template<> std::map<std::string,C*> Pluggable<C>::_map; \ ! template<> C* Pluggable<C>::_selected = NULL; //@TODO: write a plug-in registerer --- 47,59 ---- }; + #if __GNUC__ >= 4 + #define EXPLICIT_TEMPLATE template<> + #else + #define EXPLICIT_TEMPLATE + #endif + #define DECLARE_PLUGIN(C) \ ! EXPLICIT_TEMPLATE std::map<std::string,C*> Pluggable<C>::_map; \ ! EXPLICIT_TEMPLATE C* Pluggable<C>::_selected = NULL; //@TODO: write a plug-in registerer |