From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 38DE7383F86D; Wed, 20 May 2020 18:24:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 38DE7383F86D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1589999090; bh=TpRqedmryRURERZegHSvBG5SmEd7B64OXGbWhKWeQZE=; h=From:To:Subject:Date:From; b=ng1JNP0irXswniKPnEfTXl51iManXBcZcHWwqKJQFiDYb7ljvqKbRY2EKPWPbAhrw 2plDC+wFIRTW70woXGZDAJlzTEeuUaWrzmPG1hYfKU8+6XtkH4nuetVieWZylwOGWz ExqBHIMSUGw1qwRPaIRVxOxLWqRmoqXbK4xCwai4= From: "gcc at mattwhitlock dot name" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/95242] New: [10 Regression] spurious "warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]" on comparisons with -std=c++2a Date: Wed, 20 May 2020 18:24:50 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 10.1.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: gcc at mattwhitlock dot name X-Bugzilla-Status: UNCONFIRMED 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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone cf_gcchost cf_gcctarget cf_gccbuild Message-ID: 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: Wed, 20 May 2020 18:24:50 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D95242 Bug ID: 95242 Summary: [10 Regression] spurious "warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]" on comparisons with -std=3Dc++2a Product: gcc Version: 10.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc at mattwhitlock dot name Target Milestone: --- Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Build: x86_64-pc-linux-gnu /* BEGIN bug.cpp */ #include #include bool bug(std::chrono::milliseconds lhs, std::chrono::milliseconds rhs) { return lhs < rhs; // spurious "warning: zero as null pointer consta= nt" } bool bug(std::string::const_iterator lhs, std::string::const_iterator rhs) { return lhs < rhs; // spurious "warning: zero as null pointer consta= nt" } /* END bug.cpp */ $ g++ -std=3Dc++2a -Wzero-as-null-pointer-constant -c bug.cpp bug.cpp: In function 'bool bug(std::chrono::milliseconds, std::chrono::milliseconds)': bug.cpp:5:15: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant] 5 | return lhs < rhs; // spurious "warning: zero as null pointer const= ant" | ^~~ bug.cpp: In function 'bool bug(std::__cxx11::basic_string::const_iterator, std::__cxx11::basic_string::const_iterator)': bug.cpp:9:15: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant] 9 | return lhs < rhs; // spurious "warning: zero as null pointer const= ant" | ^~~ $ g++ --version | head -n1 g++ (Gentoo 10.1.0 p1) 10.1.0 The bug is not present in G++ 9.3, and it also is not present in G++ 10.1 in -std=3Dc++17 (or earlier) mode. This leads me to believe it may be related = to the new three-way comparison operator functionality.=