From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82757 invoked by alias); 26 Oct 2017 19:42:39 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 82748 invoked by uid 89); 26 Oct 2017 19:42:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy= X-HELO: mail-wr0-f182.google.com Received: from mail-wr0-f182.google.com (HELO mail-wr0-f182.google.com) (209.85.128.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 26 Oct 2017 19:42:36 +0000 Received: by mail-wr0-f182.google.com with SMTP id 15so4245115wrb.5 for ; Thu, 26 Oct 2017 12:42:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:mail-followup-to:cc:subject:references :date:in-reply-to:message-id:user-agent:mime-version; bh=pB1JFEpUgpi/q1fnQm+LJOlhpzmz/hBXTSHdzKzV8BU=; b=JDQCpf64FQf+0NTo0yKzCEMheuzFXf8sIBai2FWoYVfcQ3XUSlSlMPCVW0a+VJm43G PHEkQn/wVzTrK+IPXN6+VKLCji9lcAUz4BZ++kJdUP/CFoyommCU5kp3fjvg6ODp2dRg 1rLs0nKcVtjbmFPDS7jVYWvRX46F5dARgE0mMwToVt+7zWP0pBtdDxXX0gGUAcrv+PrP N/ROmxxWymFFsr3eHD+46G3zAx3ub1Us9ZaXqSM7AGzXSV1KAuMMFYde8b/WBwdioQUm Q3gpStLUIU6Qr2YgUjJ4ESOF0Ft3TaN/gscwQ3T96YGJtbTKT/QbTul94kN9muVm7uZZ LMxQ== X-Gm-Message-State: AMCzsaV40GlSQKSLMYcuvoxhWI3TH7C2Ewo92lx53DbRk+DzlANXj4Gx mhShHPnq1+01MSUoq6KREmWzGZoVJ+M= X-Google-Smtp-Source: ABhQp+RxkvDN3qDTs/ZuNeK+G3ATeHIYoth6SBDzs9r+2aDBJPbW4KySDW/El2kIeZWi+L3zTvx0pw== X-Received: by 10.223.136.170 with SMTP id f39mr5613497wrf.162.1509046954588; Thu, 26 Oct 2017 12:42:34 -0700 (PDT) Received: from localhost ([2.26.27.199]) by smtp.gmail.com with ESMTPSA id z17sm5484382wrb.67.2017.10.26.12.42.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 26 Oct 2017 12:42:33 -0700 (PDT) From: Richard Sandiford To: Richard Biener Mail-Followup-To: Richard Biener ,GCC Patches , richard.sandiford@linaro.org Cc: GCC Patches Subject: Re: [09/nn] Add a fixed_size_mode_pod class References: <87wp3mxgir.fsf@linaro.org> <87tvyqw1ki.fsf@linaro.org> <87y3ny14rf.fsf@linaro.org> Date: Thu, 26 Oct 2017 19:44:00 -0000 In-Reply-To: (Richard Biener's message of "Thu, 26 Oct 2017 14:43:55 +0200") Message-ID: <87po991ys5.fsf@linaro.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2017-10/txt/msg01994.txt.bz2 Richard Biener writes: > On Thu, Oct 26, 2017 at 2:18 PM, Richard Sandiford > wrote: >> Richard Biener writes: >>> On Mon, Oct 23, 2017 at 1:22 PM, Richard Sandiford >>> wrote: >>>> This patch adds a POD version of fixed_size_mode. The only current use >>>> is for storing the __builtin_apply and __builtin_result register modes, >>>> which were made fixed_size_modes by the previous patch. >>> >>> Bah - can we update our host compiler to C++11/14 please ...? >>> (maybe requiring that build with GCC 4.8 as host compiler works, >>> GCC 4.3 has -std=c++0x, but I'm quite sure that's not enough). >> >> That'd be great :-) It would avoid all the poly_int_pod stuff too, >> and allow some clean-up of wide-int.h. > > Can you figure what oldest GCC release supports the C++11/14 POD handling > that would be required? Looks like GCC 4.7, which was also the first to support -std=c++11 as an option. I could bootstrap with that (after s/std=gnu..98/std=c++11/ in configure) without all the POD types. It also supports "= default" and template using, which would get rid of some wide-int.h ugliness. Being able to construct poly_int::coeffs directly might also allow some optimisations, and should help avoid the POLY_SET_COEFF bug that Martin found, but I haven't looked at that yet. Thanks, Richard