From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 46C9B3858012; Thu, 18 Nov 2021 14:18:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 46C9B3858012 From: "redi at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/89074] valid pointer equality constexpr comparison rejected Date: Thu, 18 Nov 2021 14:18:05 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 9.0 X-Bugzilla-Keywords: rejects-valid X-Bugzilla-Severity: normal X-Bugzilla-Who: redi at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Nov 2021 14:18:06 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D89074 --- Comment #5 from Jonathan Wakely --- I think this is another case of the same bug: constexpr bool test() { int a[] =3D { 1, 2 }; int b[] =3D { 3, 4 }; if (a+0 =3D=3D b+0) // OK return false; if (a+1 =3D=3D b+0) // ERROR return false; return true; } static_assert( test() ); g++ -std=3Dc++20 ce.C -c ce.C:16:20: error: non-constant condition for static assertion 16 | static_assert( test() ); | ~~~~^~ ce.C:16:20: in 'constexpr' expansion of 'test()' ce.C:10:11: error: '((((int*)(& a)) + 4) =3D=3D ((int*)(& b)))' is not a co= nstant expression 10 | if (a+1 =3D=3D b+0) // ERROR | ~~~~^~~~~~=