Fix compiling with Clang

This was SVN commit r7824.
This commit is contained in:
Ykkrosh 2010-07-30 21:42:22 +00:00
parent dd5f242e1e
commit d29dd45237
6 changed files with 20 additions and 13 deletions

View File

@ -222,7 +222,7 @@ private:
// remove an item, all are charged according to MCD and their size;
// entries are evicted if their credit is exhausted. accessing an entry
// restores "some" of its credit.
template<typename Key, typename Entry, template<class Entry, class Entries> class McdCalc = McdCalc_Cached>
template<typename Key, typename Entry, template<class Entry_, class Entries> class McdCalc = McdCalc_Cached>
class Landlord
{
public:
@ -655,7 +655,7 @@ template
<
typename Key, typename Item,
// see documentation above for Manager's interface.
template<typename Key, class Entry> class Manager = Landlord_Cached,
template<typename Key_, class Entry> class Manager = Landlord_Cached,
class Divider = Divider_Naive
>
class Cache

View File

@ -307,7 +307,7 @@ namespace std
* std::numeric_limits specialisation, currently just providing min and max
*/
template<typename T, T max_t, int total_bits, int int_bits, int fract_bits_, int fract_pow2>
class numeric_limits<CFixed<T, max_t, total_bits, int_bits, fract_bits_, fract_pow2> >
struct numeric_limits<CFixed<T, max_t, total_bits, int_bits, fract_bits_, fract_pow2> >
{
typedef CFixed<T, max_t, total_bits, int_bits, fract_bits_, fract_pow2> fixed;
public:

View File

@ -151,7 +151,7 @@ void DllLoader::LoadSymbolInternal(const char* name, void** fptr) const
throw PSERROR_DllLoader_SymbolNotFound();
}
void DllLoader::OverrideLibdir(const CStr& libdir)
void DllLoader::OverrideLibdir(const char* libdir)
{
g_Libdir = libdir;
}

View File

@ -71,7 +71,7 @@ public:
/**
* Override the build-time setting of the directory to search for libraries.
*/
static void OverrideLibdir(const CStr& libdir);
static void OverrideLibdir(const char* libdir);
private:
// Typeless version - the public LoadSymbol hides the slightly ugly

View File

@ -790,8 +790,10 @@ JSClass wxjs::ApiWrapper<T_Port, T_Priv>::wxjs_class =
{
// CLASS MACROS
#define WXJS_INIT_CLASS(type, name, ctor) \
template<> JSObject *type::TOBJECT::m_classProto = NULL; \
template<> int type::TOBJECT::m_ctorArguments = ctor; \
template<> const char* type::TOBJECT::m_jsClassName = name;
#define WXJS_INIT_CLASS(type, name, ctor) \
namespace wxjs { \
template<> JSObject *type::TOBJECT::m_classProto = NULL; \
template<> int type::TOBJECT::m_ctorArguments = ctor; \
template<> const char* type::TOBJECT::m_jsClassName = name; \
}
#endif // _JSOBJECT_H

View File

@ -65,11 +65,16 @@ namespace wxjs
};
#if (__GNUC__ >= 4)
#define WXJS_INIT_EVENT_MAP(class) template<> EventConnector<class>::ConnectEventMap \
EventConnector<class>::m_eventMap = EventConnector<class>::ConnectEventMap();
#define WXJS_INIT_EVENT_MAP(class) \
namespace wxjs { \
template<> EventConnector<class>::ConnectEventMap \
EventConnector<class>::m_eventMap = EventConnector<class>::ConnectEventMap(); \
}
#else
#define WXJS_INIT_EVENT_MAP(class) EventConnector<class>::ConnectEventMap \
EventConnector<class>::m_eventMap;
#define WXJS_INIT_EVENT_MAP(class) \
namespace wxjs { \
EventConnector<class>::ConnectEventMap EventConnector<class>::m_eventMap; \
}
#endif
} // end namespace wxjs