Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[mysql-5.6][PR] Bug #34638573 Compile MySQL with clang 15
Summary: Fixing two compile errors, that are triggered when using libcxx from LLVM15 https://reviews.llvm.org/D104002 std::unary_function is not available in libcxx under C++17, see: https://en.cppreference.com/w/cpp/utility/functional/unary_function Boost uses std::unary_function, but it has a workaround for using Boost headers in C++17, triggered by the macro BOOST_NO_CXX98_FUNCTION_BASE See: https://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_features_that_have_been_removed_from_the_standard_ https://reviews.llvm.org/D130538 A new assert in libcxx is triggered in include/varlen_sort.h std::iterator_traits<varlen_iterator>::reference should match the return type of varlen_iterator::operator*() include/c++/v1/__algorithm/iterator_operations.h:100:5: error: static assertion failed due to requirement 'is_same<varlen_element, varlen_element &>::value': It looks like your iterator's `iterator_traits<It>::reference` does not match the return type of dereferencing the iterator, i.e., calling `*it`. This is undefined behavior according to [input.iterators] and can lead to dangling reference issues at runtime, so we are flagging this. static_assert(is_same<__deref_t<_Iter>, typename iterator_traits<__remove_cvref_t<_Iter> >::reference>::value, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fix a few warnings: Remove some explicitly defined "=defau.t" constructors, destructors. warning: definition of implicit copy assignment operator for 'Row' is deprecated because it has a user-declared destructor [-Wdeprecated-copy-with-dtor] Mark a variable potentially unuses in tests (unuses when __aarch64__) Porting Notes: Drop when rebasing to 8.0.32 Change-Id: Iad346bd0cdb1d25d958377b9c7a0dd5da7a45fad Pull Request resolved: facebook#1293 GitHub Author: Gabor Buella <gabor.buella@oracle.com> Test Plan: Imported from GitHub, without a `Test Plan:` line. Reviewers: chni Reviewed By: chni Subscribers: webscalesql-eng@fb.com Differential Revision: https://phabricator.intern.facebook.com/D45277622 Tags: aarch64, accept2ship
- Loading branch information