[PATCH] D136533: [clang] Fix missing diagnostic of declaration use when accessing TypeDecls through typename access

Mike Hommey via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 24 22:10:07 PDT 2022


glandium added a comment.

This breaks compiling many things on macOS, including compiler-rt:

  /tmp/llvm2/obj/bin/clang++ --target=aarch64-apple-darwin  -I/tmp/llvm2/compiler-rt/lib/fuzzer/../../include -Wall -Wno-unused-parameter -O3 -DNDEBUG -arch arm64 -isysroot /tmp/MacOSX11.3.sdk -stdlib=libc++ -mmacosx-version-min=10.10 -isysroot /tmp/MacOSX11.3.sdk -fPIC -fno-builtin -fno-exceptions -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O3 -g -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -fno-omit-frame-pointer -std=c++17 -MD -MT lib/fuzzer/CMakeFiles/RTfuzzer.osx.dir/FuzzerFork.cpp.o -MF lib/fuzzer/CMakeFiles/RTfuzzer.osx.dir/FuzzerFork.cpp.o.d -o lib/fuzzer/CMakeFiles/RTfuzzer.osx.dir/FuzzerFork.cpp.o -c /tmp/llvm2/compiler-rt/lib/fuzzer/FuzzerFork.cpp
  In file included from /tmp/llvm2/compiler-rt/lib/fuzzer/FuzzerFork.cpp:11:
  In file included from /tmp/llvm2/compiler-rt/lib/fuzzer/FuzzerCommand.h:15:
  In file included from /tmp/llvm2/compiler-rt/lib/fuzzer/FuzzerDefs.h:18:
  In file included from /tmp/MacOSX11.3.sdk/usr/include/c++/v1/memory:667:
  /tmp/MacOSX11.3.sdk/usr/include/c++/v1/type_traits:1672:66: error: 'type' is unavailable: introduced in macOS 10.15
      typedef _LIBCPP_NODEBUG_TYPE typename remove_reference<_Tp>::type _Up;
                                                                   ^
  /tmp/MacOSX11.3.sdk/usr/include/c++/v1/filesystem:603:47: note: in instantiation of template class 'std::decay<std::filesystem::path>' requested here
  template <class _Source, class _DS = typename decay<_Source>::type,
                                                ^
  /tmp/MacOSX11.3.sdk/usr/include/c++/v1/filesystem:648:31: note: in instantiation of default argument for '__is_pathable_char_array<std::filesystem::path>' required here
            bool _IsCharIterT = __is_pathable_char_array<_Tp>::value,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/MacOSX11.3.sdk/usr/include/c++/v1/filesystem:741:26: note: in instantiation of default argument for '__is_pathable<std::filesystem::path, false>' required here
        typename enable_if<__is_pathable<_SourceOrIter>::value, _Tp>::type;
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/MacOSX11.3.sdk/usr/include/c++/v1/filesystem:861:29: note: in instantiation of template type alias '_EnableIfPathable' requested here
    _LIBCPP_INLINE_VISIBILITY _EnableIfPathable<_Source>
                              ^
  /tmp/MacOSX11.3.sdk/usr/include/c++/v1/filesystem:965:19: note: while substituting deduced template arguments into function template 'operator/=' [with _Source = path]
      return (*this /= __replacement);
                    ^
  /tmp/MacOSX11.3.sdk/usr/include/c++/v1/filesystem:738:24: note: 'path' has been explicitly marked unavailable here
  class _LIBCPP_TYPE_VIS path {
                         ^

etc.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136533/new/

https://reviews.llvm.org/D136533



More information about the cfe-commits mailing list