From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30767 invoked by alias); 9 Apr 2018 17:28:32 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 30756 invoked by uid 89); 9 Apr 2018 17:28:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1923, reserved X-HELO: smtp.polymtl.ca Received: from smtp.polymtl.ca (HELO smtp.polymtl.ca) (132.207.4.11) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 09 Apr 2018 17:28:31 +0000 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id w39HSOhf002620 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 9 Apr 2018 13:28:29 -0400 Received: by simark.ca (Postfix, from userid 112) id DC68D1E778; Mon, 9 Apr 2018 13:28:24 -0400 (EDT) Received: from simark.ca (localhost [127.0.0.1]) by simark.ca (Postfix) with ESMTP id 544661E47D; Mon, 9 Apr 2018 13:28:24 -0400 (EDT) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 09 Apr 2018 17:28:00 -0000 From: Simon Marchi To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [PATCH v3 3/5] Add gdb::string_view In-Reply-To: References: <20180407132629.3787-1-simon.marchi@polymtl.ca> <20180407132629.3787-3-simon.marchi@polymtl.ca> Message-ID: X-Sender: simon.marchi@polymtl.ca User-Agent: Roundcube Webmail/1.3.4 X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Mon, 9 Apr 2018 17:28:25 +0000 X-IsSubscribed: yes X-SW-Source: 2018-04/txt/msg00154.txt.bz2 On 2018-04-09 09:44, Pedro Alves wrote: > On 04/07/2018 02:26 PM, Simon Marchi wrote: >> New in v3: >> >> * Base on the implementation in experimental/, since it is easier to >> adapt to the c++ standard we follow (c++11). I didn't see any >> significant fix to import from the std/ version. >> >> * Tested against clang and clang+libc++ to make sure we don't rely >> on >> anything internal and specific to libstdc++. This caught a few >> issues. >> >> * Remove hash helpers, operator<<, operator ""sv. > > We can always add hash support later, but I suspect it won't be > long until we will miss it, when we try to use string_view with > e.g., an std::unordered_map. Ok. I'd still like to keep it out of this patch, as it will probably be a bit involved. > >> * Make gdb::string_view an alias of std::string_view when building >> with >= c++17. >> >> * Remove a bunch of constexpr, because they are not valid in c++11 >> (e.g. they are not a single return line). > > I think I'd prefer to leave the "constexpr"'s in place, but commented > out, > instead of just removing it, like '/*constexpr*/', as a clearer marker > that > we've removed something that normally would otherwise be there, since > for > a future reader, simply removing is indistinguishable with > missing/forgetting > a constexpr. Done. >> * Remove hash helpers, because they use libstdc++ internal >> functions. >> If we need them we always import them later. > > Ah, hash helpers mentioned twice. :-) Woops. > Technically, the use of uglified (double-underscore or > underscore-followed-by-uppercase) names is undefined behavior for > being reserved to the implementation, but I think that in practice > it's harmless, we should be able to deal with any conflict if it > ever happens. At this stage, I think fewer local changes outweighs > the very small potential for trouble. > > LGTM. Thanks! Simon