From patchwork Tue Jun 22 15:31:28 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Carlini X-Patchwork-Id: 56522 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 47861B6F14 for ; Wed, 23 Jun 2010 01:31:47 +1000 (EST) Received: (qmail 7637 invoked by alias); 22 Jun 2010 15:31:45 -0000 Received: (qmail 7606 invoked by uid 22791); 22 Jun 2010 15:31:44 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE X-Spam-Check-By: sourceware.org Received: from vsmtp1.tin.it (HELO vsmtp1.tin.it) (212.216.176.141) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 22 Jun 2010 15:31:34 +0000 Received: from [192.168.0.4] (79.53.234.73) by vsmtp1.tin.it (8.0.022) id 4B9917F00A46B32B; Tue, 22 Jun 2010 17:31:32 +0200 Message-ID: <4C20D750.50005@oracle.com> Date: Tue, 22 Jun 2010 17:31:28 +0200 From: Paolo Carlini User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100317 SUSE/3.0.4-1.1.1 Thunderbird/3.0.4 MIME-Version: 1.0 To: "gcc-patches@gcc.gnu.org" CC: libstdc++ Subject: [v3] Fix libstdc++/44630 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi, applied to mainline and 4_5-branch. Paolo. //////////////////// 2010-06-22 Paolo Carlini PR libstdc++/44630 * include/profile/impl/profiler_trace.h (__min, __max): Remove, use std::min, std::max everywhere. * include/profile/impl/profiler_container_size.h: Use std::min and std::max. * include/profile/impl/profiler_hash_func.h: Likewise. * include/profile/impl/profiler_list_to_vector.h: Likewise. Index: include/profile/impl/profiler_container_size.h =================================================================== --- include/profile/impl/profiler_container_size.h (revision 161160) +++ include/profile/impl/profiler_container_size.h (working copy) @@ -1,6 +1,6 @@ // -*- C++ -*- // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -102,14 +102,14 @@ inline void __container_size_info::__destruct(size_t __num, size_t __inum) { - _M_max = __max(_M_max, __num); - _M_item_max = __max(_M_item_max, __inum); + _M_max = std::max(_M_max, __num); + _M_item_max = std::max(_M_item_max, __inum); if (_M_min == 0) { _M_min = __num; _M_item_min = __inum; } else { - _M_min = __min(_M_min, __num); - _M_item_min = __min(_M_item_min, __inum); + _M_min = std::min(_M_min, __num); + _M_item_min = std::min(_M_item_min, __inum); } _M_total += __num; _M_item_total += __inum; @@ -120,7 +120,7 @@ { _M_cost += this->__resize_cost(__from, __to); _M_resize += 1; - _M_max = __max(_M_max, __to); + _M_max = std::max(_M_max, __to); } inline __container_size_info::__container_size_info(__stack_t __stack, @@ -138,11 +138,11 @@ inline void __container_size_info::__merge(const __container_size_info& __o) { - _M_init = __max(_M_init, __o._M_init); - _M_max = __max(_M_max, __o._M_max); - _M_item_max = __max(_M_item_max, __o._M_item_max); - _M_min = __min(_M_min, __o._M_min); - _M_item_min = __min(_M_item_min, __o._M_item_min); + _M_init = std::max(_M_init, __o._M_init); + _M_max = std::max(_M_max, __o._M_max); + _M_item_max = std::max(_M_item_max, __o._M_item_max); + _M_min = std::min(_M_min, __o._M_min); + _M_item_min = std::min(_M_item_min, __o._M_item_min); _M_total += __o._M_total; _M_item_total += __o._M_item_total; _M_count += __o._M_count; Index: include/profile/impl/profiler_hash_func.h =================================================================== --- include/profile/impl/profiler_hash_func.h (revision 161160) +++ include/profile/impl/profiler_hash_func.h (working copy) @@ -1,6 +1,6 @@ // -*- C++ -*- // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -87,7 +87,7 @@ inline void __hashfunc_info::__merge(const __hashfunc_info& __o) { - _M_longest_chain = __max(_M_longest_chain, __o._M_longest_chain); + _M_longest_chain = std::max(_M_longest_chain, __o._M_longest_chain); _M_accesses += __o._M_accesses; _M_hops += __o._M_hops; } @@ -95,7 +95,7 @@ inline void __hashfunc_info::__destruct(size_t __chain, size_t __accesses, size_t __hops) { - _M_longest_chain = __max(_M_longest_chain, __chain); + _M_longest_chain = std::max(_M_longest_chain, __chain); _M_accesses += __accesses; _M_hops += __hops; } Index: include/profile/impl/profiler_trace.h =================================================================== --- include/profile/impl/profiler_trace.h (revision 161160) +++ include/profile/impl/profiler_trace.h (working copy) @@ -122,17 +122,6 @@ void __trace_list_to_vector_report(FILE*, __warning_vector_t&); void __trace_map_to_unordered_map_report(FILE*, __warning_vector_t&); -// Utility functions. -inline size_t __max(size_t __a, size_t __b) -{ - return __a >= __b ? __a : __b; -} - -inline size_t __min(size_t __a, size_t __b) -{ - return __a <= __b ? __a : __b; -} - struct __cost_factor { const char* __env_var; @@ -439,8 +428,8 @@ fclose(__raw_file); // Sort data by magnitude, keeping just top N. - size_t __cutoff = __min(_GLIBCXX_PROFILE_DATA(_S_max_warn_count), - __warnings.size()); + size_t __cutoff = std::min(_GLIBCXX_PROFILE_DATA(_S_max_warn_count), + __warnings.size()); __top_n(__warnings, __top_warnings, __cutoff); FILE* __warn_file = __open_output_file("txt"); Index: include/profile/impl/profiler_list_to_vector.h =================================================================== --- include/profile/impl/profiler_list_to_vector.h (revision 161160) +++ include/profile/impl/profiler_list_to_vector.h (working copy) @@ -1,6 +1,6 @@ // -*- C++ -*- // -// Copyright (C) 2009 Free Software Foundation, Inc. +// Copyright (C) 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -124,13 +124,13 @@ _M_list_cost += __o._M_list_cost; _M_valid &= __o._M_valid; _M_resize += __o._M_resize; - _M_max_size = __max( _M_max_size, __o._M_max_size); + _M_max_size = std::max( _M_max_size, __o._M_max_size); } inline void __list2vector_info::__opr_insert(size_t __shift, size_t __size) { _M_shift_count += __shift; - _M_max_size = __max(_M_max_size, __size); + _M_max_size = std::max(_M_max_size, __size); } inline void __list2vector_info::__resize(size_t __from, size_t __to)