[clang] [AArch64]: Refactor target parser to use Bitset. (PR #65423)

Mitch Phillips via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 12 08:09:08 PDT 2023


hctim wrote:

Looks like this is causing problems:

https://lab.llvm.org/buildbot/#/builders/18/builds/10698

```
FAILED: tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AArch64.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /bin/ccache /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm_build0/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D_LIBCPP_ENABLE_HARDENED_MODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm_build64/tools/clang/lib/Basic -I/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/clang/lib/Basic -I/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/clang/include -I/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm_build64/tools/clang/include -I/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm_build64/include -I/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -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 -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AArch64.cpp.o -MF tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AArch64.cpp.o.d -o tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/Targets/AArch64.cpp.o -c /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/clang/lib/Basic/Targets/AArch64.cpp
In file included from /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/clang/lib/Basic/Targets/AArch64.cpp:13:
In file included from /home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/clang/lib/Basic/Targets/AArch64.h:18:
/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/llvm/include/llvm/TargetParser/AArch64TargetParser.h:350:91: error: 'Bitset' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]
inline constexpr ArchInfo ARMV8R    = { VersionTuple{8, 0}, RProfile, "armv8-r", "+v8r", (Bitset(ARMV8_5A.DefaultExts) |
                                                                                          ^
/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/llvm/include/llvm/ADT/Bitset.h:31:7: note: add a deduction guide to suppress this warning
class Bitset {
      ^
/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/clang/lib/Basic/Targets/AArch64.cpp:982:5: error: 'Bitset' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]
    llvm::Bitset Exts = CpuInfo->getImpliedExtensions();
    ^
/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/llvm/include/llvm/ADT/Bitset.h:31:7: note: add a deduction guide to suppress this warning
class Bitset {
      ^
2 errors generated.
```

I'm gonna go out on a limb and say this is probably not sanitizer-bot-specific :)

https://github.com/llvm/llvm-project/pull/65423


More information about the cfe-commits mailing list