diff --git a/include/oneapi/tbb/detail/_flow_graph_node_impl.h b/include/oneapi/tbb/detail/_flow_graph_node_impl.h index b79c53ddbf..389060e45a 100644 --- a/include/oneapi/tbb/detail/_flow_graph_node_impl.h +++ b/include/oneapi/tbb/detail/_flow_graph_node_impl.h @@ -31,7 +31,11 @@ class function_input_queue : public item_buffer { } const T& front() const { +#if defined( __clang__ ) && __clang_major__ >= 19 + return this->template item_buffer::front(); +#else return this->item_buffer::front(); +#endif } void pop() { diff --git a/include/oneapi/tbb/enumerable_thread_specific.h b/include/oneapi/tbb/enumerable_thread_specific.h index caa53fa0d6..f027a9e84a 100644 --- a/include/oneapi/tbb/enumerable_thread_specific.h +++ b/include/oneapi/tbb/enumerable_thread_specific.h @@ -879,7 +879,11 @@ class enumerable_thread_specific: ets_base { ~enumerable_thread_specific() { if(my_construct_callback) my_construct_callback->destroy(); // Deallocate the hash table before overridden free_array() becomes inaccessible +#if defined( __clang__ ) && __clang_major__ >= 19 + this->template ets_base::table_clear(); +#else this->ets_base::table_clear(); +#endif } //! returns reference to local, discarding exists @@ -943,7 +947,11 @@ class enumerable_thread_specific: ets_base { // concurrent_vector::swap() preserves storage space, // so addresses to the vector kept in ETS hash table remain valid. swap(my_locals, other.my_locals); +#if defined( __clang__ ) && __clang_major__ >= 19 + this->template ets_base::table_swap(other); +#else this->ets_base::table_swap(other); +#endif } template