[PATCH] D57914: [Driver] Allow enum SanitizerOrdinal to represent more than 64 different sanitizer checks, NFC.

pierre gousseau via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 27 10:01:00 PST 2019


pgousseau reopened this revision.
pgousseau added a comment.
This revision is now accepted and ready to land.

Reopening because of buildbot failure http://green.lab.llvm.org/green/job/lldb-cmake/20537/

I have not been able to reproduce the error, the order of includes must be different on the failing bot...
As suggested by the compiler warning, moving `hash_value(const clang::SanitizerMask&)` declaration into clang's namespace should fix it.

  FAILED: tools/clang/lib/Frontend/CMakeFiles/clangFrontend.dir/CompilerInvocation.cpp.o 
  /Users/buildslave/jenkins/workspace/lldb-cmake/host-compiler/bin/clang++  -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/clang/lib/Frontend -I/Users/buildslave/jenkins/workspace/lldb-cmake/llvm/tools/clang/lib/Frontend -I/Users/buildslave/jenkins/workspace/lldb-cmake/llvm/tools/clang/include -Itools/clang/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libxml2 -Iinclude -I/Users/buildslave/jenkins/workspace/lldb-cmake/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -fmodules -fmodules-cache-path=/Users/buildslave/jenkins/workspace/lldb-cmake/lldb-build/module.cache -fcxx-modules -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3  -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.9   -UNDEBUG  -fno-exceptions -fno-rtti -MD -MT tools/clang/lib/Frontend/CMakeFiles/clangFrontend.dir/CompilerInvocation.cpp.o -MF tools/clang/lib/Frontend/CMakeFiles/clangFrontend.dir/CompilerInvocation.cpp.o.d -o tools/clang/lib/Frontend/CMakeFiles/clangFrontend.dir/CompilerInvocation.cpp.o -c /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
  In module 'LLVM_Utils' imported from /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/tools/clang/lib/Frontend/TestModuleFileExtension.h:13:
  /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/include/llvm/ADT/Hashing.h:374:10: error: call to function 'hash_value' that is neither visible in the template definition nor found by argument-dependent lookup
    return hash_value(value);
           ^
  /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/include/llvm/ADT/Hashing.h:555:63: note: in instantiation of function template specialization 'llvm::hashing::detail::get_hashable_data<clang::SanitizerMask>' requested here
      buffer_ptr = combine_data(length, buffer_ptr, buffer_end, get_hashable_data(arg));
                                                                ^
  /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/include/llvm/ADT/Hashing.h:558:12: note: in instantiation of function template specialization 'llvm::hashing::detail::hash_combine_recursive_helper::combine<clang::SanitizerMask>' requested here
      return combine(length, buffer_ptr, buffer_end, args...);
             ^
  /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/include/llvm/ADT/Hashing.h:603:17: note: in instantiation of function template specialization 'llvm::hashing::detail::hash_combine_recursive_helper::combine<llvm::hash_code, clang::SanitizerMask>' requested here
    return helper.combine(0, helper.buffer, helper.buffer + 64, args...);
                  ^
  /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp:3430:12: note: in instantiation of function template specialization 'llvm::hash_combine<llvm::hash_code, clang::SanitizerMask>' requested here
      code = hash_combine(code, SanHash.Mask);
             ^
  /Users/buildslave/jenkins/workspace/lldb-cmake/llvm/tools/clang/include/clang/Basic/Sanitizers.h:29:11: note: 'hash_value' should be declared prior to the call site or in namespace 'clang'
  hash_code hash_value(const clang::SanitizerMask &Arg);
            ^
  1 error generated.


Repository:
  rC Clang

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

https://reviews.llvm.org/D57914





More information about the cfe-commits mailing list