ilovepi wrote: This is breaking our Linux CI. Looks to me like there's some assumptions about what's in the sysroot headers, and how macros are allowed/expected to be defined? Standard clang builds haven't had this issue, so I'm guessing you lack coverage on intentionally old sysroots or there's some bit of the build config that isn't well tested across all the various cmake options.
Bot: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8667324817978802465/+/u/clang/build/stdout CMake: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8667324817978802465/+/u/clang/configure/l_execution_details Logs: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8667324817978802465/+/u/clang/build/stdout Error: ``` [6310/6623](26) Building CXX object tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRAttrs.cpp.o FAILED: tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRAttrs.cpp.o /b/s/w/ir/x/w/rc/cxx-rbecv4cts5q/reclient-cxx-wrapper.sh /b/s/w/ir/x/w/cipd/bin/clang++ --sysroot=/b/s/w/ir/x/w/cipd/linux -DCLANG_EXPORTS -DCLANG_REPOSITORY_STRING=\"https://llvm.googlesource.com/llvm-project\" -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/s/w/ir/x/w/llvm_build/tools/clang/lib/CIR/Dialect/IR -I/b/s/w/ir/x/w/llvm-llvm-project/clang/lib/CIR/Dialect/IR -I/b/s/w/ir/x/w/llvm-llvm-project/clang/include -I/b/s/w/ir/x/w/llvm_build/tools/clang/include -I/b/s/w/ir/x/w/llvm_build/include -I/b/s/w/ir/x/w/llvm-llvm-project/llvm/include -I/b/s/w/ir/x/w/llvm-llvm-project/llvm/../mlir/include -I/b/s/w/ir/x/w/llvm_build/tools/mlir/include -I/b/s/w/ir/x/w/install-zlib-x86_64-linux-gnu/include -I/b/s/w/ir/x/w/install-zstd-x86_64-linux-gnu/include -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -ffat-lto-objects -ffile-prefix-map=/b/s/w/ir/x/w/llvm_build=../llvm-llvm-project -ffile-prefix-map=/b/s/w/ir/x/w/llvm-llvm-project/= -no-canonical-prefixes -fno-common -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -fvisibility=default -UNDEBUG -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -Winvalid-pch -Xclang -include-pch -Xclang /b/s/w/ir/x/w/llvm_build/tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /b/s/w/ir/x/w/llvm_build/tools/clang/lib/AST/CMakeFiles/obj.clangAST.dir/cmake_pch.hxx -MD -MT tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRAttrs.cpp.o -MF tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRAttrs.cpp.o.d -o tools/clang/lib/CIR/Dialect/IR/CMakeFiles/obj.MLIRCIR.dir/CIRAttrs.cpp.o -c /b/s/w/ir/x/w/llvm-llvm-project/clang/lib/CIR/Dialect/IR/CIRAttrs.cpp In file included from /b/s/w/ir/x/w/llvm-llvm-project/clang/lib/CIR/Dialect/IR/CIRAttrs.cpp:61: /b/s/w/ir/x/w/llvm_build/tools/clang/include/clang/CIR/Dialect/IR/CIROpsAttributes.cpp.inc:8084:60: error: member initializer 'gnu_dev_major' does not name a non-static data member or base class 8084 | OpenCLVersionAttrStorage(int32_t major, int32_t minor) : major(std::move(major)), minor(std::move(minor)) {} | ^~~~~~~~~~~~~~~~~~~~~~~ /b/s/w/ir/x/w/cipd/linux/usr/include/x86_64-linux-gnu/sys/sysmacros.h:61:20: note: expanded from macro 'major' 61 | #define major(dev) gnu_dev_major (dev) | ^~~~~~~~~~~~~~~~~~~ In file included from /b/s/w/ir/x/w/llvm-llvm-project/clang/lib/CIR/Dialect/IR/CIRAttrs.cpp:61: /b/s/w/ir/x/w/llvm_build/tools/clang/include/clang/CIR/Dialect/IR/CIROpsAttributes.cpp.inc:8084:85: error: member initializer 'gnu_dev_minor' does not name a non-static data member or base class 8084 | OpenCLVersionAttrStorage(int32_t major, int32_t minor) : major(std::move(major)), minor(std::move(minor)) {} | ^~~~~~~~~~~~~~~~~~~~~~~ /b/s/w/ir/x/w/cipd/linux/usr/include/x86_64-linux-gnu/sys/sysmacros.h:62:20: note: expanded from macro 'minor' 62 | #define minor(dev) gnu_dev_minor (dev) | ^~~~~~~~~~~~~~~~~~~ 2 errors generated. ``` https://github.com/llvm/llvm-project/pull/221291 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
