fix(libc): picolibc: workaround wrong pthread_exit declaration for c++

This commit is contained in:
Alexey Lapshin
2026-04-16 23:59:32 +07:00
parent 8e68af5c03
commit 85bb42da29
2 changed files with 17 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2025-2026 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -10,3 +10,14 @@
#include <stdint.h>
#include <stddef.h>
#endif
#if CONFIG_LIBC_PICOLIBC // TODO IDF-15569
#undef __noreturn
#if __has_attribute(__noreturn__)
#define __noreturn __attribute__((__noreturn__))
#else
#define __noreturn
#endif
#else
#define __noreturn
#endif

View File

@@ -12,9 +12,11 @@ extern "C" {
#endif
#if CONFIG_LIBC_PICOLIBC
#if defined(__cplusplus) && __cplusplus >= 201103L
#define __noreturn [[noreturn]]
#elif __has_attribute(__noreturn__)
// TODO IDF-15569
// #if defined(__cplusplus) && __cplusplus >= 201103L
// #define __noreturn [[noreturn]]
// #elif __has_attribute(__noreturn__)
#if __has_attribute(__noreturn__)
#define __noreturn __attribute__((__noreturn__))
#else
#define __noreturn