[PATCH] D129973: [clang] Pass FoundDecl to DeclRefExpr creator for operator overloads
Asmaa via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 4 00:43:16 PDT 2022
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
More information about the cfe-commits
mailing list