asmok-g added a comment. This is also causing a compilation error in some google third-party code. Compiling with older clang doesn't give that error. Error:
error: no matching function for call to object of type 'key_compare_adapter<QuicIntervalSet<long>::IntervalLess>::checked_compare' comp(__trans_tmp_3, k); ^~~~ /tmp/pre.ii:85:5: note: in instantiation of function template specialization 'btree_node<set_params<QuicIntervalSet<long>::IntervalLess>>::linear_search_impl<int, key_compare_adapter<QuicIntervalSet<long>::IntervalLess>::checked_compare>' requested here linear_search_impl(k, 0, 0, comp, ^ /tmp/pre.ii:76:32: note: in instantiation of function template specialization 'btree_node<set_params<QuicIntervalSet<long>::IntervalLess>>::linear_search<int, key_compare_adapter<QuicIntervalSet<long>::IntervalLess>::checked_compare>' requested here use_linear_search::value ? linear_search(k, comp) : binary_search(k, comp); ^ /tmp/pre.ii:123:15: note: in instantiation of function template specialization 'btree_node<set_params<QuicIntervalSet<long>::IntervalLess>>::lower_bound<int>' requested here iter.node_->lower_bound(key, key_comp()); ^ /tmp/pre.ii:111:51: note: in instantiation of function template specialization 'btree<set_params<QuicIntervalSet<long>::IntervalLess>>::internal_lower_bound<int>' requested here template <typename K> void lower_bound(K key) { internal_lower_bound(key); } ^ /tmp/pre.ii:133:37: note: in instantiation of function template specialization 'btree<set_params<QuicIntervalSet<long>::IntervalLess>>::lower_bound<int>' requested here void lower_bound(int key) { tree_.lower_bound(key); } ^ /tmp/pre.ii:164:14: note: in instantiation of member function 'btree_container<btree<set_params<QuicIntervalSet<long>::IntervalLess>>>::lower_bound' requested here intervals_.lower_bound(0); ^ /tmp/pre.ii:158:16: note: in instantiation of member function 'QuicIntervalSet<long>::Add' requested here void Add() { Add(value_type(Add_min, Add_max)); } ^ /tmp/pre.ii:190:34: note: in instantiation of member function 'QuicIntervalSet<long>::Add' requested here unacked_frame_headers_offsets_.Add(); ^ /tmp/pre.ii:44:10: note: candidate template ignored: substitution failure [with T = QuicInterval, U = int] void operator()(T lhs, U rhs) { I attached the preprocessed file for the case F24012260: pre.ii <https://reviews.llvm.org/F24012260>. The commande to reproduce is: `clang -msse4.2 -O1 -fsized-deallocation -std=gnu++17 -c pre.ii` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129973/new/ https://reviews.llvm.org/D129973 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits