From patchwork Sat Jun 1 21:26:19 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ed Smith-Rowland <3dw4rd@verizon.net> X-Patchwork-Id: 248089 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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "localhost", Issuer "www.qmailtoaster.com" (not verified)) by ozlabs.org (Postfix) with ESMTPS id C421A2C009F for ; Sun, 2 Jun 2013 07:26:41 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; q= dns; s=default; b=lWqDsb4FK5BZCAtIf2UcrQNbN8LrhjpasYVknl1q5L5WRT tQvCGRnnrBARwNrf7co/ACAxG5lwanPnkjoFIUs8yP/sXM9W7if1ohAHZh4JFXOB ki/i0shJmcaKbswD7AJcGua/I0HTm4q6+ePpYvlXW9sbhFBm3F45ocpdnIWeM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; s= default; bh=AWOUrGpHgPCN4Bili0A6VOjp3cY=; b=oUKtrTbP112aCJfzA6K/ zIBZvqjKN4BDRyHlkfSNIbsMg0dKlcKCla//DKWbqJ8KjiLy6jyANZVKyNbUltw2 1tOFaFUXc0xSTt7yG5E/DK9DL6WqCq6IRH6OoVw6+meBjq71DPhQaI+Tvkc7logx 3aTCsE3JMj3ENqr91QWXi1w= Received: (qmail 22055 invoked by alias); 1 Jun 2013 21:26:35 -0000 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 Received: (qmail 21994 invoked by uid 89); 1 Jun 2013 21:26:35 -0000 X-Spam-SWARE-Status: No, score=4.3 required=5.0 tests=AWL, BAYES_50, BOTNET, RCVD_IN_DNSWL_NONE, RCVD_IN_HOSTKARMA_NO, RCVD_IN_HOSTKARMA_YE, RP_MATCHES_RCVD, SPF_PASS autolearn=no version=3.3.1 X-Spam-User: qpsmtpd, 2 recipients Received: from vms173015pub.verizon.net (HELO vms173015pub.verizon.net) (206.46.173.15) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Sat, 01 Jun 2013 21:26:34 +0000 Received: from [192.168.1.4] ([unknown] [96.244.50.87]) by vms173015.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0MNQ005ZGGVU2A10@vms173015.mailsrvcs.net>; Sat, 01 Jun 2013 16:26:19 -0500 (CDT) Message-id: <51AA66FB.4010309@verizon.net> Date: Sat, 01 Jun 2013 17:26:19 -0400 From: Ed Smith-Rowland <3dw4rd@verizon.net> User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 MIME-version: 1.0 To: "libstdc++@gcc.gnu.org" , gcc-patches Subject: [libstdc++-v3] Collapse redundant 'inline' from 'inline constexpr'. Content-type: multipart/mixed; boundary=------------010407090305030503000003 X-Virus-Found: No All, Paolo Carlini pointed out that I introduced a number of 'inline constexpr' in my last std literals patch. Section 7.1.5/2: "constexpr functions and constexpr constructors are implicitly inline (7.1.2). I noticed that there are two other headers that have this. Does anyone mind if i just clean this up? Builds and tests clean on x86_64-linux. Ed 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net> include/std/chrono: Collapse redundant 'inline' from 'inline constexpr'. include/std/tuple: Ditto. include/bits/move.h: Ditto. Index: include/std/chrono =================================================================== --- include/std/chrono (revision 199584) +++ include/std/chrono (working copy) @@ -819,12 +819,12 @@ } // __detail - inline constexpr chrono::duration> + constexpr chrono::duration> operator"" h(long double __hours) { return chrono::duration>{__hours}; } template - inline constexpr typename + constexpr typename __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::hours>::type operator"" h() @@ -834,12 +834,12 @@ chrono::hours>::value; } - inline constexpr chrono::duration> + constexpr chrono::duration> operator"" min(long double __mins) { return chrono::duration>{__mins}; } template - inline constexpr typename + constexpr typename __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::minutes>::type operator"" min() @@ -849,12 +849,12 @@ chrono::minutes>::value; } - inline constexpr chrono::duration + constexpr chrono::duration operator"" s(long double __secs) { return chrono::duration{__secs}; } template - inline constexpr typename + constexpr typename __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::seconds>::type operator"" s() @@ -864,12 +864,12 @@ chrono::seconds>::value; } - inline constexpr chrono::duration + constexpr chrono::duration operator"" ms(long double __msecs) { return chrono::duration{__msecs}; } template - inline constexpr typename + constexpr typename __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::milliseconds>::type operator"" ms() @@ -879,12 +879,12 @@ chrono::milliseconds>::value; } - inline constexpr chrono::duration + constexpr chrono::duration operator"" us(long double __usecs) { return chrono::duration{__usecs}; } template - inline constexpr typename + constexpr typename __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::microseconds>::type operator"" us() @@ -894,12 +894,12 @@ chrono::microseconds>::value; } - inline constexpr chrono::duration + constexpr chrono::duration operator"" ns(long double __nsecs) { return chrono::duration{__nsecs}; } template - inline constexpr typename + constexpr typename __detail::_Select_type<__select_int::_Select_int<_Digits...>::value, chrono::nanoseconds>::type operator"" ns() Index: include/std/tuple =================================================================== --- include/std/tuple (revision 199583) +++ include/std/tuple (working copy) @@ -856,25 +856,25 @@ } template - inline constexpr bool + constexpr bool operator!=(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return !(__t == __u); } template - inline constexpr bool + constexpr bool operator>(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return __u < __t; } template - inline constexpr bool + constexpr bool operator<=(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return !(__u < __t); } template - inline constexpr bool + constexpr bool operator>=(const tuple<_TElements...>& __t, const tuple<_UElements...>& __u) { return !(__t < __u); } Index: include/bits/move.h =================================================================== --- include/bits/move.h (revision 199583) +++ include/bits/move.h (working copy) @@ -116,7 +116,7 @@ * type is copyable, in which case an lvalue-reference is returned instead. */ template - inline constexpr typename + constexpr typename conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type move_if_noexcept(_Tp& __x) noexcept { return std::move(__x); }