This patch fixes some template declarations for use with IBM xlC 8, which apparently has issues with default template arguments, as well as namespace lookup. ==== //poco/1.3/Foundation/include/Poco/Delegate.h#2 - /ws/poco-1.3/Foundation/include/Poco/Delegate.h ==== Index: Foundation/include/Poco/Delegate.h --- Foundation/include/Poco/Delegate.h.~1~ Fri Mar 20 11:19:53 2009 +++ Foundation/include/Poco/Delegate.h Fri Mar 20 11:19:53 2009 @@ -205,7 +205,7 @@ template static Expire delegate(void (*NotifyMethod)(TArgs&), Timestamp::TimeDiff expireMillisecs) { - return Expire(FunctionDelegate( NotifyMethod), expireMillisecs); + return Expire(FunctionDelegate( NotifyMethod), expireMillisecs); } @@ -224,9 +224,9 @@ template -static FunctionDelegate delegate(void (*NotifyMethod)(TArgs&)) +static FunctionDelegate delegate(void (*NotifyMethod)(TArgs&)) { - return FunctionDelegate(NotifyMethod); + return FunctionDelegate(NotifyMethod); } ==== //poco/1.3/Foundation/include/Poco/LinearHashTable.h#5 - /ws/poco-1.3/Foundation/include/Poco/LinearHashTable.h ==== Index: Foundation/include/Poco/LinearHashTable.h --- Foundation/include/Poco/LinearHashTable.h.~1~ Fri Mar 20 11:19:53 2009 +++ Foundation/include/Poco/LinearHashTable.h Fri Mar 20 11:19:53 2009 @@ -441,10 +441,9 @@ ++_split; for (BucketIterator it = tmp.begin(); it != tmp.end(); ++it) { - using std::swap; std::size_t addr = bucketAddress(*it); _buckets[addr].push_back(Value()); - swap(*it, _buckets[addr].back()); + std::swap(*it, _buckets[addr].back()); } } @@ -461,10 +460,9 @@ _buckets.pop_back(); for (BucketIterator it = tmp.begin(); it != tmp.end(); ++it) { - using std::swap; std::size_t addr = bucketAddress(*it); _buckets[addr].push_back(Value()); - swap(*it, _buckets[addr].back()); + std::swap(*it, _buckets[addr].back()); } } ==== //poco/1.3/Foundation/include/Poco/NamedTuple.h#3 - /ws/poco-1.3/Foundation/include/Poco/NamedTuple.h ==== Index: Foundation/include/Poco/NamedTuple.h --- Foundation/include/Poco/NamedTuple.h.~1~ Fri Mar 20 11:19:53 2009 +++ Foundation/include/Poco/NamedTuple.h Fri Mar 20 11:19:53 2009 @@ -654,7 +654,7 @@ class T15, class T16, class T17> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -934,7 +934,7 @@ class T14, class T15, class T16> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -1206,7 +1206,7 @@ class T13, class T14, class T15> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -1471,7 +1471,7 @@ class T12, class T13, class T14> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -1728,7 +1728,7 @@ class T11, class T12, class T13> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -1977,7 +1977,7 @@ class T10, class T11, class T12> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -2217,7 +2217,7 @@ class T9, class T10, class T11> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -2450,7 +2450,7 @@ class T8, class T9, class T10> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -2674,7 +2674,7 @@ class T7, class T8, class T9> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -2891,7 +2891,7 @@ class T6, class T7, class T8> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -3100,7 +3100,7 @@ class T5, class T6, class T7> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -3301,7 +3301,7 @@ class T4, class T5, class T6> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -3492,7 +3492,7 @@ class T3, class T4, class T5> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -3675,7 +3675,7 @@ class T2, class T3, class T4> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -3852,7 +3852,7 @@ class T1, class T2, class T3> -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -4020,7 +4020,7 @@ template -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -4181,7 +4181,7 @@ template -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; @@ -4334,7 +4334,7 @@ template -struct NamedTuple: +struct NamedTuple: public Tuple { typedef Tuple TupleType; ==== //poco/1.3/Foundation/include/Poco/PriorityDelegate.h#2 - /ws/poco-1.3/Foundation/include/Poco/PriorityDelegate.h ==== Index: Foundation/include/Poco/PriorityDelegate.h --- Foundation/include/Poco/PriorityDelegate.h.~1~ Fri Mar 20 11:19:53 2009 +++ Foundation/include/Poco/PriorityDelegate.h Fri Mar 20 11:19:53 2009 @@ -207,7 +207,7 @@ template static PriorityExpire priorityDelegate(void (*NotifyMethod)(TArgs&), int prio, Timestamp::TimeDiff expireMilliSec) { - return PriorityExpire(FunctionPriorityDelegate(NotifyMethod, prio), expireMilliSec); + return PriorityExpire(FunctionPriorityDelegate(NotifyMethod, prio), expireMilliSec); } @@ -226,9 +226,9 @@ template -static FunctionPriorityDelegate priorityDelegate(void (*NotifyMethod)(TArgs&), int prio) +static FunctionPriorityDelegate priorityDelegate(void (*NotifyMethod)(TArgs&), int prio) { - return FunctionPriorityDelegate(NotifyMethod, prio); + return FunctionPriorityDelegate(NotifyMethod, prio); } ==== //poco/1.3/Foundation/include/Poco/Tuple.h#7 - /ws/poco-1.3/Foundation/include/Poco/Tuple.h ==== Index: Foundation/include/Poco/Tuple.h --- Foundation/include/Poco/Tuple.h.~1~ Fri Mar 20 11:19:53 2009 +++ Foundation/include/Poco/Tuple.h Fri Mar 20 11:19:53 2009 @@ -297,7 +297,7 @@ class T15, class T16, class T17> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -404,7 +404,7 @@ class T14, class T15, class T16> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -508,7 +508,7 @@ class T13, class T14, class T15> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -609,7 +609,7 @@ class T12, class T13, class T14> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -707,7 +707,7 @@ class T11, class T12, class T13> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -802,7 +802,7 @@ class T10, class T11, class T12> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -894,7 +894,7 @@ class T9, class T10, class T11> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -983,7 +983,7 @@ class T8, class T9, class T10> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1069,7 +1069,7 @@ class T7, class T8, class T9> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1152,7 +1152,7 @@ class T6, class T7, class T8> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1232,7 +1232,7 @@ class T5, class T6, class T7> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1309,7 +1309,7 @@ class T4, class T5, class T6> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1383,7 +1383,7 @@ class T3, class T4, class T5> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1454,7 +1454,7 @@ class T2, class T3, class T4> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1522,7 +1522,7 @@ class T1, class T2, class T3> -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1587,7 +1587,7 @@ template -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1649,7 +1649,7 @@ template -struct Tuple +struct Tuple { typedef typename TypeListType::HeadType Type; @@ -1707,7 +1707,7 @@ template -struct Tuple +struct Tuple { typedef TypeList Type; ==== //poco/1.3/Foundation/src/pcre_internal.h#2 - /ws/poco-1.3/Foundation/src/pcre_internal.h ==== Index: Foundation/src/pcre_internal.h --- Foundation/src/pcre_internal.h.~1~ Fri Mar 20 11:19:53 2009 +++ Foundation/src/pcre_internal.h Fri Mar 20 11:19:53 2009 @@ -562,10 +562,14 @@ /* Miscellaneous definitions. The #ifndef is to pacify compiler warnings in environments where these macros are defined elsewhere. */ -#ifndef FALSE +#ifndef BOOL typedef int BOOL; +#endif +#ifndef FALSE #define FALSE 0 +#endif +#ifndef TRUE #define TRUE 1 #endif End of Patch.