From e882399eb0afa3720283b8006f17f6b819002651 Mon Sep 17 00:00:00 2001 From: Haroon Qureshi Date: Mon, 17 Nov 2025 07:48:22 -0800 Subject: [PATCH] Use mjTHREADLOCAL macro instead of intrinsic. Fixes #2927. PiperOrigin-RevId: 833336768 Change-Id: I62bfdc7018853fc8459e03ba079fc6a15e97c7d0 --- src/engine/engine_collision_gjk.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/engine/engine_collision_gjk.c b/src/engine/engine_collision_gjk.c index 51aefed1..794c776c 100644 --- a/src/engine/engine_collision_gjk.c +++ b/src/engine/engine_collision_gjk.c @@ -22,6 +22,7 @@ #include #include #include "engine/engine_collision_convex.h" +#include "engine/engine_macro.h" #include "engine/engine_util_blas.h" #include "engine/engine_util_errmem.h" @@ -2216,11 +2217,11 @@ static inline void inflate(mjCCDStatus* status, mjtNum margin1, mjtNum margin2) mjtNum mjc_ccd(const mjCCDConfig* config, mjCCDStatus* status, mjCCDObj* obj1, mjCCDObj* obj2) { // pre-allocate static memory for low iterations void* buffer = NULL; - static _Thread_local Vertex vert_data[5 + mjMAX_EPA_ITERATIONS]; - static _Thread_local Face face_data[6 * mjMAX_EPA_ITERATIONS]; - static _Thread_local Face* map_data[6 * mjMAX_EPA_ITERATIONS]; - static _Thread_local int index_data[6 + mjMAX_EPA_ITERATIONS]; - static _Thread_local int edge_data[6 + mjMAX_EPA_ITERATIONS]; + static mjTHREADLOCAL Vertex vert_data[5 + mjMAX_EPA_ITERATIONS]; + static mjTHREADLOCAL Face face_data[6 * mjMAX_EPA_ITERATIONS]; + static mjTHREADLOCAL Face* map_data[6 * mjMAX_EPA_ITERATIONS]; + static mjTHREADLOCAL int index_data[6 + mjMAX_EPA_ITERATIONS]; + static mjTHREADLOCAL int edge_data[6 + mjMAX_EPA_ITERATIONS]; // setup obj1->center(status->x1, obj1);