diff --git a/tbb-2020-task-namespace.patch b/tbb-2020-task-namespace.patch index 7c9034a..ba4d673 100644 --- a/tbb-2020-task-namespace.patch +++ b/tbb-2020-task-namespace.patch @@ -1,14 +1,29 @@ -From 83460cd9c2df678bd05efbbbe5cd2c9f733ece2b Mon Sep 17 00:00:00 2001 -From: Thomas W Rodgers -Date: Mon, 16 Jan 2023 17:20:37 -0800 -Subject: [PATCH] Fix FTBS with newer GCC +From c18342ba667d1f33f5e9a773aa86b091a9694b97 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Fri, 20 May 2022 07:50:00 +0100 +Subject: [PATCH] tbb_2020: fix build on gcc-13 +On gcc-13 build started failing due to 'task' identifier collision as: + + ../../include/tbb/task.h:300:20: error: declaration of 'tbb::task& tbb::internal::task_prefix::task()' changes meaning of 'task' [-fpermissive] + 300 | tbb::task& task() {return *reinterpret_cast(this+1);} + | ^~~~ + ../../include/tbb/task.h:252:9: note: used here to mean 'class tbb::task' + 252 | task* next_offloaded; + | ^~~~ + ../../include/tbb/task.h:43:7: note: declared here + 43 | class task; + | ^~~~ + +The change adds explicit qualifier to class name to avoid ambiguity with method name. + +Signed-off-by: Sergei Trofimovich --- include/tbb/task.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/tbb/task.h b/include/tbb/task.h -index 5e137c6..b5fb1ac 100644 +index 5e137c6999..b5fb1ac35e 100644 --- a/include/tbb/task.h +++ b/include/tbb/task.h @@ -249,7 +249,7 @@ namespace internal { @@ -20,6 +35,3 @@ index 5e137c6..b5fb1ac 100644 #endif #if __TBB_PREVIEW_RESUMABLE_TASKS --- -2.39.0 - diff --git a/tbb.spec b/tbb.spec index 2b9c98e..db7be94 100644 --- a/tbb.spec +++ b/tbb.spec @@ -31,7 +31,8 @@ Patch3: tbb-2019-test-task-scheduler-init.patch # exported symbols Patch4: tbb-mark-empty_task-execute-with-gnu-used.patch -# Fix "error: declaration of 'tbb::task& tbb::internal::task_prefix::task()' changes meaning of 'task' [-fpermissive]" +# https://bugzilla.redhat.com/show_bug.cgi?id=2161412 +# https://github.com/oneapi-src/oneTBB/pull/833 Patch5: tbb-2020-task-namespace.patch BuildRequires: cmake