From bc7af037663cd99cd789ad1b6ccc9e35700d2763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Desbiens?= Date: Thu, 22 Oct 2026 08:14:49 -0400 Subject: [PATCH] Fixed the FreeRTOS layer build with GCC 14 by matching the name type pcTaskGetName() held the name tx_thread_info_get() returns in a const char *, but the service takes TX_NAME_CONST CHAR **, which is CHAR ** unless TX_ENABLE_CONST_NAMES is set. GCC 13 reports the mismatch as a warning; GCC 14 makes incompatible pointer types an error, so the FreeRTOS compatibility layer did not compile with it. The local now uses TX_NAME_CONST CHAR *, so it follows the service's declaration in both configurations. The returned pointer is unchanged. FreeRTOS regression 3/3 with GCC 14.2 and with GCC 13.3, zero warnings with each (one warning on dev with GCC 13), and 3/3 with zero warnings under GCC 14 with TX_ENABLE_CONST_NAMES. Assisted-by: Claude Code (Opus 5.5) --- utility/rtos_compatibility_layers/FreeRTOS/tx_freertos.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utility/rtos_compatibility_layers/FreeRTOS/tx_freertos.c b/utility/rtos_compatibility_layers/FreeRTOS/tx_freertos.c index 3391bf8af..f8889f6f5 100644 --- a/utility/rtos_compatibility_layers/FreeRTOS/tx_freertos.c +++ b/utility/rtos_compatibility_layers/FreeRTOS/tx_freertos.c @@ -652,7 +652,7 @@ void vTaskPrioritySet(TaskHandle_t xTask, char *pcTaskGetName(TaskHandle_t xTaskToQuery) { TX_THREAD *p_thread; - const char *p_task_name; + TX_NAME_CONST CHAR *p_task_name; UINT ret; if(xTaskToQuery == NULL) {