Return-Path: Delivered-To: apmail-incubator-stdcxx-commits-archive@www.apache.org Received: (qmail 32892 invoked from network); 18 Oct 2007 15:00:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 18 Oct 2007 15:00:32 -0000 Received: (qmail 37601 invoked by uid 500); 18 Oct 2007 15:00:20 -0000 Delivered-To: apmail-incubator-stdcxx-commits-archive@incubator.apache.org Received: (qmail 37575 invoked by uid 500); 18 Oct 2007 15:00:19 -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 37564 invoked by uid 99); 18 Oct 2007 15:00:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Oct 2007 08:00:19 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED 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; Thu, 18 Oct 2007 15:00:31 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 308A71A9832; Thu, 18 Oct 2007 07:59:41 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r585996 - in /incubator/stdcxx/branches/4.2.0/include/rw: _config.h _strref.h Date: Thu, 18 Oct 2007 14:59:40 -0000 To: stdcxx-commits@incubator.apache.org From: sebor@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071018145941.308A71A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sebor Date: Thu Oct 18 07:59:39 2007 New Revision: 585996 URL: http://svn.apache.org/viewvc?rev=585996&view=rev Log: 2007-10-18 Martin Sebor Disabled fix for STDCXX-162 for binary compatibility with stdcxx 4.1.x. * include/rw/_config.h (_RWSTD_NO_STRING_ATOMIC_OPS): New macro #defined on x86_64 Linux unless _RWSTD_USE_STRING_ATOMIC_OPS is #defined on the command line (or in the generated config.h header). * include/rw/_strref.h (_RWSTD_NO_STRING_MUTEX): Guarded by the new _RWSTD_NO_STRING_ATOMIC_OPS macro. Modified: incubator/stdcxx/branches/4.2.0/include/rw/_config.h incubator/stdcxx/branches/4.2.0/include/rw/_strref.h Modified: incubator/stdcxx/branches/4.2.0/include/rw/_config.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/include/rw/_config.h?rev=585996&r1=585995&r2=585996&view=diff ============================================================================== --- incubator/stdcxx/branches/4.2.0/include/rw/_config.h (original) +++ incubator/stdcxx/branches/4.2.0/include/rw/_config.h Thu Oct 18 07:59:39 2007 @@ -25,7 +25,7 @@ * implied. See the License for the specific language governing * permissions and limitations under the License. * - * Copyright 1994-2006 Rogue Wave Software. + * Copyright 1994-2007 Rogue Wave Software, Inc. * **************************************************************************/ @@ -132,6 +132,24 @@ #if defined (__sparc__) || defined (__sparc) #endif // SPARC + +/*** AMD64/Intel EM64T ****************************************************/ + +#if defined (__amd64__) || defined (__amd64) \ + || defined (__x86_64__) || defined (__x86_64) + +# if _RWSTD_VER_MAJOR < 5 +# ifdef _RWSTD_OS_LINUX + // on Linux/AMD64, unless explicitly requested, disable the use + // of atomic operations in string for binary compatibility with + // stdcxx 4.1.x +# ifndef _RWSTD_USE_STRING_ATOMIC_OPS +# define _RWSTD_NO_STRING_ATOMIC_OPS +# endif // _RWSTD_USE_STRING_ATOMIC_OPS +# endif // _WIN32 +# endif // stdcxx < 5.0 + +#endif // AMD64/EM64T /************************************************************************** * COMPILER-SPECIFIC OVERRIDES * Modified: incubator/stdcxx/branches/4.2.0/include/rw/_strref.h URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.0/include/rw/_strref.h?rev=585996&r1=585995&r2=585996&view=diff ============================================================================== --- incubator/stdcxx/branches/4.2.0/include/rw/_strref.h (original) +++ incubator/stdcxx/branches/4.2.0/include/rw/_strref.h Thu Oct 18 07:59:39 2007 @@ -9,22 +9,23 @@ * *************************************************************************** * - * Copyright 2005-2006 The Apache Software Foundation or its licensors, - * as applicable. + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at * - * Copyright 1994-2006 Rogue Wave Software. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + * implied. See the License for the specific language governing + * permissions and limitations under the License. + * + * Copyright 1994-2007 Rogue Wave Software, Inc. * **************************************************************************/ @@ -56,12 +57,13 @@ # define _RWSTD_STRING_REF_INT long #endif -#ifndef _RWSTD_NO_ATOMIC_OPS +#if !defined (_RWSTD_NO_ATOMIC_OPS) && !defined (_RWSTD_NO_STRING_ATOMIC_OPS) // disable string mutex when atomic operations are available # ifndef _RWSTD_NO_STRING_MUTEX # define _RWSTD_NO_STRING_MUTEX # endif // _RWSTD_NO_STRING_MUTEX -#endif // _RWSTD_NO_ATOMIC_OPS +#endif // _RWSTD_NO_ATOMIC_OPS && !_RWSTD_NO_STRING_ATOMIC_OPS + _RWSTD_NAMESPACE (std) {