Return-Path: Delivered-To: apmail-incubator-stdcxx-commits-archive@www.apache.org Received: (qmail 96564 invoked from network); 19 Mar 2007 22:30:13 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Mar 2007 22:30:13 -0000 Received: (qmail 24456 invoked by uid 500); 19 Mar 2007 22:30:22 -0000 Delivered-To: apmail-incubator-stdcxx-commits-archive@incubator.apache.org Received: (qmail 24435 invoked by uid 500); 19 Mar 2007 22:30:21 -0000 Mailing-List: contact stdcxx-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-commits@incubator.apache.org Received: (qmail 24414 invoked by uid 99); 19 Mar 2007 22:30:21 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Mar 2007 15:30:21 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME,UPPERCASE_25_50 X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Mar 2007 15:30:12 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 89B0B1A9838; Mon, 19 Mar 2007 15:29:52 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r520129 - /incubator/stdcxx/trunk/include/rw/_config-xlc.h Date: Mon, 19 Mar 2007 22:29:52 -0000 To: stdcxx-commits@incubator.apache.org From: sebor@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070319222952.89B0B1A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sebor Date: Mon Mar 19 15:29:51 2007 New Revision: 520129 URL: http://svn.apache.org/viewvc?view=rev&rev=520129 Log: 2007-03-19 Martin Sebor STDCXX-300 * _config-xlc.h (_RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION, _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION): Defined for IBM XLC++ 8.0 when _RWSTD_NO_INSTANTIATE_DEFAULT_ARGS is also #defined. Modified: incubator/stdcxx/trunk/include/rw/_config-xlc.h Modified: incubator/stdcxx/trunk/include/rw/_config-xlc.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/include/rw/_config-xlc.h?view=diff&rev=520129&r1=520128&r2=520129 ============================================================================== --- incubator/stdcxx/trunk/include/rw/_config-xlc.h (original) +++ incubator/stdcxx/trunk/include/rw/_config-xlc.h Mon Mar 19 15:29:51 2007 @@ -93,12 +93,30 @@ # endif // REENTRANT && LP64 #endif // AIX -#if __IBMCPP__ == 800 && !defined (_RWSTDDEBUG) - // work around an XLC++ 8.0 ICE (STDCXX-159) -# if defined (_RWSTD_NO_EXTERN_TEMPLATE) -# define _RWSTD_NO_EXPLICIT_INSTANTIATION -# endif // _RWSTD_NO_EXTERN_TEMPLATE -#endif // XLC++ 8.0 without debugging +#if __IBMCPP__ == 800 + +# if !defined (__TEMPINC__) && defined (_RWSTD_NO_INSTANTIATE_DEFAULT_ARGS) + // disable explicit instantiation directives occuring prior + // the definition of out-of-line member functions of class + // templates in .cc files (i.e., prior their explicit + // #inclusion at the bottom of each header) +# ifndef _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION +# define _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION +# endif +# ifndef _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION +# define _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION +# endif +# endif // !__TEMPINC__ && _RWSTD_NO_INSTANTIATE_DEFAULT_ARGS + +# ifndef _RWSTDDEBUG + // work around an XLC++ 8.0 ICE (STDCXX-159) +# if defined (_RWSTD_NO_EXTERN_TEMPLATE) +# define _RWSTD_NO_EXPLICIT_INSTANTIATION +# endif // _RWSTD_NO_EXTERN_TEMPLATE +# endif // without debugging + +#endif // XLC++ 8.0 + #ifndef __TEMPINC__ // avoid VAC++ 7.0 diagnostic 1540-2910 (I) The template uses