From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 86890 invoked by alias); 12 Oct 2019 16:14:20 -0000 Mailing-List: contact libstdc++-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libstdc++-owner@gcc.gnu.org Received: (qmail 86240 invoked by uid 89); 12 Oct 2019 16:14:20 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=H*i:CAF, H*i:VMjx-KKSzxcbg, H*f:VMjx-KKSzxcbg, H*f:12G X-HELO: mail-ot1-f67.google.com Received: from mail-ot1-f67.google.com (HELO mail-ot1-f67.google.com) (209.85.210.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 12 Oct 2019 16:14:18 +0000 Received: by mail-ot1-f67.google.com with SMTP id o44so10489229ota.10; Sat, 12 Oct 2019 09:14:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=hWdiSYe2tmsz+OJAn47P3YrpdID+CIP33Xb0AIZysGk=; b=UZweqNh8ZzT2EYcZsHNBeJ+KMaEbJ7xotn5bR4E2S9gqm1OrQv5hnGEJsirtfvoiyz pUStGuk9Sprd9elBIG8DFva3RwUJD6IoXmDS6KHBX8CjW6ixTLs6ADVgk+h8n5JUYt8h Ga4lzPFyeMZQXaVIMY9AKAl3RXt24I+R75PohNeb/MTBPov9534viXcxprAHlFNpFd84 ADdbslBUaTuIPYD4YaGXNTqgI6tw/Z3jEsPX0eA/FqBWtl2FKANC8KO08qWsXY++UX64 AGYw+mtm+qQZEoeknpv+27UfqlN7UIOvxgR8kthrWqNGh4YBlCuCQN6hyMh09QeZQkWp o2Iw== MIME-Version: 1.0 References: <20191011155009.GA20051@redhat.com> In-Reply-To: From: Romain Geissler Date: Sat, 12 Oct 2019 16:14:00 -0000 Message-ID: Subject: Re: [PATCH] Use __is_same_as for std::is_same and std::is_same_v To: Jonathan Wakely Cc: libstdc++@gcc.gnu.org, GCC Patches Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2019-10/txt/msg00046.txt.bz2 Le sam. 12 oct. 2019 =C3=A0 17:44, Romain Geissler a =C3=A9crit : > > It looks like this creates the following error when I try to bootstrap > clang 9.0.0 using the latest gcc and libstdc++ from trunk. Note that > with g++, there is no problem, however it looks like clang++ has some > problem with the new header. I don't know if this is an issue on > libstdc++ side or clang++ side. __is_same_as is not implemented as a compiler builtin in clang++ unlike g++, thus the error on clang 9.0.0 side. It looks like current clang trunk doesn't define __is_same_as either. Until clang implements this support (if it ever will), usage of __is_same_as in libstdc++ shall be conditional, only when __has_builtin(__is_same_as) is true (however that would require that gcc implements __has_builtin, as implemented here: https://gcc.gnu.org/ml/gcc-patches/2019-10/msg00062.html ) Cheers, Romain