I tried removing some of the compiler flags to see if I could identify what might be triggering this, and removing "-fno-delete-null-pointer-checks" seems to make this error vanish.
Not sure if that helps or not, but hopefully, I can get this beast building without it.
Thanks, Tom
On Mon, Mar 11, 2019 at 1:31 PM Jakub Jelinek jakub@redhat.com wrote:
On Mon, Mar 11, 2019 at 01:16:07PM -0400, Tom Callaway wrote:
I spent some time this weekend trying to get Chromium 72 building on Fedora, but I kept running into a C++ issue that I was not able to
resolve.
This happened with gcc-9.0.1-0.8.fc30.x86_64 and gcc-8.3.1-2.fc29.x86_64.
Can you please provide preprocessed source + g++ command line options, from the snippets it is hard to see what's going on. From the description it seems maybe like: template <int N> struct S { static constexpr int a[2] = { 1, 2 }; }; static_assert (&S<0>::a[1] != nullptr);
which g++ accepts for -std=c++{11,14} but rejects for -std=c++{17,2a} when S<0>::a is an inline variable. I think we have a similar http://gcc.gnu.org/PR89074 . The middle-end punts here and doesn't optimize the != NULL to true because it is address of a comdat variable and thus it in the end could come up from any other TU. Though perhaps in these cases the standard gives us some guarantees.
Jakub