Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1377560pxj; Fri, 21 May 2021 12:41:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwvYqhBTEdJamrryrZxUHtdNoAAfHk9ndh/MQEj1U0jDDC+o/7hht2RpCGpZBg/HqF35M2B X-Received: by 2002:a05:6602:2416:: with SMTP id s22mr401206ioa.15.1621626113229; Fri, 21 May 2021 12:41:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621626113; cv=none; d=google.com; s=arc-20160816; b=RUvwT1w8i+23oOuKUY9zjGVawetXkvch4ryneqdQ6vgso/tnqM2Yzz3rABfo+Sr8da O/ODugYTa1MG0Dh+JnQJfx7fqzssaDpU+lyJwmKxRl+neQvXBSLQyFmBcOjRY03VO2zF heRaGDwI5M8pBZL7Ygiy9H6ScR6xlvIVW8ECtujw3CSE9lybBsi3c77sYhIChuu70vON yGE6GKCiKcRBNiRnNqCTSiy9CL1hsVOvlDvGBibBQF4Bqw8AbdWwdWkCDw+Y2sMkMF4i wMfQ/7146w0b9EVKpZu4liFmSDIGtwxKDH5QAPKAom5ZpBu0S79b+f29DeMuwT2lEHel k7dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=jpIiuwbpxEVZXGiXNdeth1ukOGKUvErzew/yQrGgRUg=; b=Mu9fsgI9seSGzIcp9kGouVVxniN/hX6Vo7cjKKGuPEIMLRDOTI/vAwmo2h9sFUmOdf 3XV9r+p6YVRDPMfKFj5kGPqH7L/sBwvo5wiE9oO8rjGJR7iSzBJO59AdFq27SsLtvCFG ZhC9Ww2NVQt7Eb3hyoO7O7Cd5bbB6OMy9W2udJ3bF+d9SdCR6ZTeaWNkvJvcsAeVoLtV 8HAzmovjSzy4dyhmIjRr4+ccGEK4gNDGU4HSFdj5D8gRIp8stwC4kBW0uEwXqpaMHtQU 5twTTF0BpszRVqkmNKBgB5Cf1cQtEBCGRWlr50rhkD0FkxnJO7Tjv7Q0SFDfosx0kzlM erRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=korg header.b=0tm4FUJN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w17si6381360ilm.86.2021.05.21.12.41.40; Fri, 21 May 2021 12:41:53 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=korg header.b=0tm4FUJN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237965AbhETUmg (ORCPT + 99 others); Thu, 20 May 2021 16:42:36 -0400 Received: from mail.kernel.org ([198.145.29.99]:33304 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237395AbhETUmg (ORCPT ); Thu, 20 May 2021 16:42:36 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 63F6B613BB; Thu, 20 May 2021 20:41:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1621543273; bh=bzP4CK6SG5evDgM7IOYbwPymXk/YVnKcwkLZ4LLAG8k=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=0tm4FUJNzumcZJg3H10jpiJ2NVV3BDOCO/nEbEsAD8PyEHCzN8tpY660StQCVKQP9 3Zz4cSfYes9zphNic1o/yqlZ2gleZWmFx+GW36YlDAtDbHD0FrYqm9CaiBmfUrIAbL 0ll3l7ddy/aGpKEaWBvgEapQ8cUtqSSOzF2K1PVA= Date: Thu, 20 May 2021 13:41:12 -0700 From: Andrew Morton To: Rikard Falkeborn Cc: Andy Shevchenko , Tetsuo Handa , Yury Norov , linux-kernel@vger.kernel.org, Ard Biesheuvel , Peter Zijlstra , Tetsuo Handa Subject: Re: [PATCH] linux/bits.h: Fix compilation error with GENMASK Message-Id: <20210520134112.ee15f156f1b7dbd3d8f16471@linux-foundation.org> In-Reply-To: <20210511203716.117010-1-rikard.falkeborn@gmail.com> References: <20210511203716.117010-1-rikard.falkeborn@gmail.com> X-Mailer: Sylpheed 3.5.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 11 May 2021 22:37:15 +0200 Rikard Falkeborn wrote: > --- a/include/linux/const.h > +++ b/include/linux/const.h > @@ -3,4 +3,12 @@ > > #include > > +/* > + * This returns a constant expression while determining if an argument is > + * a constant expression, most importantly without evaluating the argument. > + * Glory to Martin Uecker > + */ > +#define __is_constexpr(x) \ > + (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) Boggle. Could someone please sometime enhance that comment a bit? What need does this thing satisfy and how on earth does it work?