Fix build with Borland C++ compiler.

Disable some parts of the code that this compiler had problems with. Add
parentheses to work around its bugs elsewhere.

Closes #12558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-11-07 13:16:20 +00:00
parent 0ce0f1e9eb
commit 258593354e
13 changed files with 121 additions and 31 deletions

View File

@@ -118,7 +118,10 @@ private:
// Note that we use typedef instead of privately deriving from this (which
// would allowed us to omit "Ops::" prefixes below) to keep VC6 happy,
// it can't compile code that derives from wxIf<...>::value.
typedef typename wxIf< wxIsMovable<T>::value,
//
// Note that bcc needs the extra parentheses for non-type template
// arguments to compile this expression.
typedef typename wxIf< (wxIsMovable<T>::value),
wxPrivate::wxVectorMemOpsMovable<T>,
wxPrivate::wxVectorMemOpsGeneric<T> >::value
Ops;
@@ -452,7 +455,7 @@ namespace wxPrivate
// This is a helper for the wxVectorSort function, and should not be used
// directly in user's code.
template<typename T>
struct wxVectorSort
struct wxVectorComparator
{
static int wxCMPFUNC_CONV
Compare(const void* pitem1, const void* pitem2, const void* )
@@ -477,7 +480,7 @@ template<typename T>
void wxVectorSort(wxVector<T>& v)
{
wxQsort(v.begin(), v.size(), sizeof(T),
wxPrivate::wxVectorSort<T>::Compare, NULL);
wxPrivate::wxVectorComparator<T>::Compare, NULL);
}