diff --git a/configure.in b/configure.in index 7993b7a04891..fcaf90662ddb 100644 --- a/configure.in +++ b/configure.in @@ -3989,6 +3989,17 @@ case "$target" in fi fi AC_SUBST(AIX_SHLIB_BIN) + + dnl ======================================================== + dnl Figure out if we are using a pre-5.0x version of the + dnl xlC compiler and if so, set flag + dnl ======================================================== + + if test ! "$GNU_CC" && test "$ac_cv_cpp_reinterpret_cast" = no ; then + CXXFLAGS="$CXXFLAGS -DAIX_XLC_364" + CFLAGS="$CFLAGS -DAIX_XLC_364" + fi + ;; esac diff --git a/layout/generic/nsLineLayout.h b/layout/generic/nsLineLayout.h index deb45a08090b..885c10854a71 100644 --- a/layout/generic/nsLineLayout.h +++ b/layout/generic/nsLineLayout.h @@ -381,7 +381,7 @@ protected: PerFrameData* mFrameFreeList; PRInt32 mInitialFramesFreed; -#if defined(AIX) || defined(XP_OS2_VACPP) +#if defined(AIX_XLC_364) || defined(XP_OS2_VACPP) public: #endif struct PerSpanData { @@ -419,7 +419,7 @@ public: mLastFrame = pfd; } }; -#if defined(AIX) || defined(XP_OS2_VACPP) +#if defined(AIX_XLC_364) || defined(XP_OS2_VACPP) protected: #endif PerSpanData mSpanDataBuf[NS_LINELAYOUT_NUM_SPANS]; diff --git a/layout/html/base/src/nsLineLayout.h b/layout/html/base/src/nsLineLayout.h index deb45a08090b..885c10854a71 100644 --- a/layout/html/base/src/nsLineLayout.h +++ b/layout/html/base/src/nsLineLayout.h @@ -381,7 +381,7 @@ protected: PerFrameData* mFrameFreeList; PRInt32 mInitialFramesFreed; -#if defined(AIX) || defined(XP_OS2_VACPP) +#if defined(AIX_XLC_364) || defined(XP_OS2_VACPP) public: #endif struct PerSpanData { @@ -419,7 +419,7 @@ public: mLastFrame = pfd; } }; -#if defined(AIX) || defined(XP_OS2_VACPP) +#if defined(AIX_XLC_364) || defined(XP_OS2_VACPP) protected: #endif PerSpanData mSpanDataBuf[NS_LINELAYOUT_NUM_SPANS]; diff --git a/widget/src/gtk/nsKeyboardUtils.cpp b/widget/src/gtk/nsKeyboardUtils.cpp index 27dcd3cc6b13..56a41d19f78d 100644 --- a/widget/src/gtk/nsKeyboardUtils.cpp +++ b/widget/src/gtk/nsKeyboardUtils.cpp @@ -18,7 +18,7 @@ #include #ifdef HAVE_X11_XKBLIB_H -# if defined (__digital__) && defined (__unix__) +# if (defined (__digital__) && defined (__unix__)) || defined(_AIX) || defined(__hpux) # define explicit Explicit # include # undef explicit diff --git a/xpcom/base/nscore.h b/xpcom/base/nscore.h index b7a52611036b..9a8e641701e4 100644 --- a/xpcom/base/nscore.h +++ b/xpcom/base/nscore.h @@ -205,7 +205,7 @@ typedef PRUint32 nsresult; #define HAVE_CPP_TYPENAME /* waiting to find out if OS/2 VisualAge participates in autoconf */ -#if defined(XP_OS2_VACPP) || defined(AIX) || (defined(IRIX) && !defined(__GNUC__)) +#if defined(XP_OS2_VACPP) || defined(AIX_XLC_364) || (defined(IRIX) && !defined(__GNUC__)) #undef HAVE_CPP_TYPENAME #endif diff --git a/xpcom/glue/nsCOMPtr.h b/xpcom/glue/nsCOMPtr.h index 17d6d507a09c..b0e8bcd8f073 100644 --- a/xpcom/glue/nsCOMPtr.h +++ b/xpcom/glue/nsCOMPtr.h @@ -192,7 +192,7 @@ class nsDerivedSafe : public T NS_IMETHOD_(nsrefcnt) Release(void); #endif -#if !defined(XP_OS2_VACPP) && !defined(AIX) +#if !defined(XP_OS2_VACPP) && !defined(AIX_XLC_364) void operator delete( void*, size_t ); // NOT TO BE IMPLEMENTED // declaring |operator delete| private makes calling delete on an interface pointer a compile error #endif