From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 100398 invoked by alias); 22 Sep 2016 08:55:58 -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 100371 invoked by uid 89); 22 Sep 2016 08:55:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=villevoutilainengmailcom, ville.voutilainen@gmail.com, U*ville.voutilainen X-HELO: mail-qk0-f175.google.com Received: from mail-qk0-f175.google.com (HELO mail-qk0-f175.google.com) (209.85.220.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 22 Sep 2016 08:55:46 +0000 Received: by mail-qk0-f175.google.com with SMTP id z190so69859179qkc.3 for ; Thu, 22 Sep 2016 01:55:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=haU1d/xzc8e5VJi2X0ZUwh3YthkIJekIbkXXm4oY8m4=; b=I/zPNyVxerK9TVjYU8WJ64AdD+FNtvwjDe5TDea5Jwj0npBAAlcXJrMHgVDkq/F3dB tmnDHHDiLnJc12klQ7sVmt20EwC3pmzZIEibn6KcfUg1RroygceOn9/k0dYVj2i0C1d4 /hdyO6sG5uZmA8FgppvmP+9fyU1V34xDFHyQnijBBFgWBBsNXnKeDrbzAcIvWyKWpomF XxsiW3+AVz9krHwlJLkbgqQzSGMxnu9at53CH0ZpZfZwXuizpjJAVcBcresOu1r6B+rP mSDtBV5TcDtJSyaf0JLfB+lUPiSKyCd43M4ovwNf+g62R2+Ne8BfXaOfT0bWLpbkc1uW QeCg== X-Gm-Message-State: AA6/9RlEUy38oDBZMJQOG9xJRW2ZKX8CQZcKxWRn3WwVLRUsn1vhZxHMq5+LcsKsTQ4f+vV+9ltnZJx6ogEUz3Bj X-Received: by 10.55.56.141 with SMTP id f135mr705394qka.73.1474534543933; Thu, 22 Sep 2016 01:55:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.140.21.80 with HTTP; Thu, 22 Sep 2016 01:55:43 -0700 (PDT) In-Reply-To: References: <20160921093115.GI17376@redhat.com> From: Christophe Lyon Date: Thu, 22 Sep 2016 09:01:00 -0000 Message-ID: Subject: Re: [v3 PATCH] PR libstdc++/77288 and the newest proposed resolution for LWG 2756 To: Ville Voutilainen Cc: Jonathan Wakely , "libstdc++" , "gcc-patches@gcc.gnu.org" Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2016-09/txt/msg01506.txt.bz2 Hi, On 21 September 2016 at 21:42, Ville Voutilainen wrote: > On 21 September 2016 at 12:31, Jonathan Wakely wrote: >> On 06/09/16 09:00 +0300, Ville Voutilainen wrote: >>> >>> PR libstdc++/77288 >>> * include/std/optional (__is_optional_impl, __is_optional): Remove. >>> (__converts_from_optional, __assigns_from_optional): New. >>> (optional(_Up&&)): Use is_same instead of __is_optional. >>> (optional(const optional<_Up>&)): Constrain with >>> __converts_from_optional. >>> (optional(optional<_Up>&&)): Likewise. >>> (operator=(_Up&&)): Use is_same instead of __is_optional, check >>> is_same and is_scalar. >>> (operator=(const optional<_Up>&)): Constrain with >>> __converts_from_optional and __assigns_from_optional. >>> (operator=(optional<_Up>&&)): Likewise. >>> * testsuite/20_util/optional/77288.cc: New. >>> * testsuite/20_util/optional/cons/value.cc: Adjust. >> >> >> OK for trunk, thanks. > > Thanks, applied - I will cook up a separate patch for making the same > fix for experimental::optional. > The plan is to then backport that one to the gcc-6 branch. The new test 77288.cc fails on old arm targets (armv5t): /aci-gcc-fsf/sources/gcc-fsf/gccsrc/libstdc++-v3/testsuite/20_util/optional/77288.cc: In function 'void test01()': /aci-gcc-fsf/sources/gcc-fsf/gccsrc/libstdc++-v3/testsuite/20_util/optional/77288.cc:31: error: 'exception_ptr' is not a member of 'std' /aci-gcc-fsf/sources/gcc-fsf/gccsrc/libstdc++-v3/testsuite/20_util/optional/77288.cc:31: error: template argument 1 is invalid /aci-gcc-fsf/sources/gcc-fsf/gccsrc/libstdc++-v3/testsuite/20_util/optional/77288.cc:31: error: template argument 1 is invalid /aci-gcc-fsf/sources/gcc-fsf/gccsrc/libstdc++-v3/testsuite/20_util/optional/77288.cc:32: error: 'exception_ptr' is not a member of 'std' /aci-gcc-fsf/sources/gcc-fsf/gccsrc/libstdc++-v3/testsuite/20_util/optional/77288.cc:32: error: template argument 1 is invalid Christophe