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

Reply via email to