Replace std::exclusive_scan() with for loop because std::exclusive_scan() is not implemented in GCC 7. (#13045)

This commit is contained in:
Edward Chen 2022-09-22 09:30:22 -07:00 committed by GitHub
parent c7a4093db8
commit 6ea8780886
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -49,8 +49,14 @@ bool MatchKernelDefTypes(const Node& node,
const auto actual_input_arg_offsets = [&actual_input_arg_counts]() {
InlinedVector<int> offsets{};
offsets.reserve(actual_input_arg_counts.size());
std::exclusive_scan(actual_input_arg_counts.begin(), actual_input_arg_counts.end(),
std::back_inserter(offsets), 0);
// std::exclusive_scan() is not supported until GCC 9.3
// std::exclusive_scan(actual_input_arg_counts.begin(), actual_input_arg_counts.end(),
// std::back_inserter(offsets), 0);
int current_offset = 0;
for (size_t i = 0; i < actual_input_arg_counts.size(); ++i) {
offsets.push_back(current_offset);
current_offset += actual_input_arg_counts[i];
}
return offsets;
}();