This is something new that showed up with stable roll to 3.3.0. Build breaks only on 32-bit build. Builds fine for 64-bit, same environment.
| FAILED: clang_x64/obj/flutter/impeller/base/base.version.o
| ../../buildtools/linux-x64/clang/bin/clang++ -MD -MF clang_x64/obj/flutter/impeller/base/base.version.o.d -DUSE_OPENSSL=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_DISABLE_AVAILABILITY=1 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DIMPELLER_SUPPORTS_PLATFORM=1 -DIMPELLER_SUPPORTS_RENDERING=1 -DIMPELLER_ENABLE_OPENGLES=1 -DFLUTTER_RUNTIME_MODE_DEBUG=1 -DFLUTTER_RUNTIME_MODE_PROFILE=2 -DFLUTTER_RUNTIME_MODE_RELEASE=3 -DFLUTTER_RUNTIME_MODE_JIT_RELEASE=4 -DDART_LEGACY_API=\[\[deprecated\]\] -DFLUTTER_RUNTIME_MODE=3 -DFLUTTER_RELEASE=1 -I../.. -Iclang_x64/gen -I../../third_party/libcxx/include -I../../third_party/libcxxabi/include -I../../flutter -Wthread-safety-analysis -fno-strict-aliasing -fstack-protector --param=ssp-buffer-size=4 -m64 -march=x86-64 -fPIC -pipe -pthread -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -Wno-implicit-int-float-conversion -Wno-c99-designator -Wno-deprecated-copy -Wno-psabi -Wno-unqualified-std-cast-call -Wno-non-c-typedef-for-linkage -Wno-range-loop-construct -fvisibility=hidden -Wstring-conversion -Wnewline-eof -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility-inlines-hidden -std=c++17 -fno-rtti -nostdinc++ -nostdinc++ -fvisibility=hidden -fno-exceptions -c ../../flutter/impeller/base/version.cc -o clang_x64/obj/flutter/impeller/base/base.version.o
| In file included from ../../flutter/impeller/base/version.cc:5:
| ../../flutter/impeller/base/version.h:22:9: warning: In the GNU C Library, "major" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "major", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "major", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
| : major(p_major), minor(p_minor), patch(p_patch) {}
| ^
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:21: note: expanded from macro 'major'
| # define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
| ^
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
| #define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
| ^
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
| #define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
| ^
| /usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
| __glibc_macro_warning1 (GCC warning message)
| ^
| /usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
| # define __glibc_macro_warning1(message) _Pragma (#message)
| ^
| <scratch space>:2:6: note: expanded from here
| GCC warning "In the GNU C Library, \"major\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"major\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"major\", you should undefine it after including <sys/types.h>."
| ^
| In file included from ../../flutter/impeller/base/version.cc:5:
| ../../flutter/impeller/base/version.h:22:25: warning: In the GNU C Library, "minor" is defined by <sys/sysmacros.h>. For historical compatibility, it is currently defined by <sys/types.h> as well, but we plan to remove this soon. To use "minor", include <sys/sysmacros.h> directly. If you did not intend to use a system-defined macro "minor", you should undefine it after including <sys/types.h>. [-W#pragma-messages]
| : major(p_major), minor(p_minor), patch(p_patch) {}
| ^
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:21: note: expanded from macro 'minor'
| # define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
| ^
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:52:32: note: expanded from macro '__SYSMACROS_DM'
| #define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
| ^
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:30: note: expanded from macro '__SYSMACROS_DM1'
| #define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
| ^
| /usr/include/x86_64-linux-gnu/sys/cdefs.h:470:3: note: expanded from macro '__glibc_macro_warning'
| __glibc_macro_warning1 (GCC warning message)
| ^
| /usr/include/x86_64-linux-gnu/sys/cdefs.h:468:42: note: expanded from macro '__glibc_macro_warning1'
| # define __glibc_macro_warning1(message) _Pragma (#message)
| ^
| <scratch space>:9:6: note: expanded from here
| GCC warning "In the GNU C Library, \"minor\" is defined\n by <sys/sysmacros.h>. For historical compatibility, it is\n currently defined by <sys/types.h> as well, but we plan to\n remove this soon. To use \"minor\", include <sys/sysmacros.h>\n directly. If you did not intend to use a system-defined macro\n \"minor\", you should undefine it after including <sys/types.h>."
| ^
| In file included from ../../flutter/impeller/base/version.cc:5:
| ../../flutter/impeller/base/version.h:22:9: error: member initializer 'gnu_dev_major' does not name a non-static data member or base class
| : major(p_major), minor(p_minor), patch(p_patch) {}
| ^~~~~~~~~~~~~~
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:101:44: note: expanded from macro 'major'
| # define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
| ^~~~~~~~~~~~~~~~~~~
| In file included from ../../flutter/impeller/base/version.cc:5:
| ../../flutter/impeller/base/version.h:22:25: error: member initializer 'gnu_dev_minor' does not name a non-static data member or base class
| : major(p_major), minor(p_minor), patch(p_patch) {}
| ^~~~~~~~~~~~~~
| /usr/include/x86_64-linux-gnu/sys/sysmacros.h:102:44: note: expanded from macro 'minor'
| # define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
| ^~~~~~~~~~~~~~~~~~~
| In file included from ../../flutter/impeller/base/version.cc:5:
| ../../flutter/impeller/base/version.h:21:13: error: constexpr constructor that does not initialize all members is a C++20 extension [-Werror,-Wc++20-extensions]
| constexpr Version(size_t p_major = 0, size_t p_minor = 0, size_t p_patch = 0)
| ^
| ../../flutter/impeller/base/version.h:17:10: note: member not initialized by constructor
| size_t major;
| ^
| ../../flutter/impeller/base/version.h:18:10: note: member not initialized by constructor
| size_t minor;
| ^
| 2 warnings and 3 errors generated.
This is something new that showed up with stable roll to 3.3.0. Build breaks only on 32-bit build. Builds fine for 64-bit, same environment.
GCC 11.3.0