Fix missing tuple_size

In case of certain clang versions, a wrong combination of activated
and deactivated template forward declarations and specializations
were provided.

This led to redefinition errors and specialization errors.

Now aligning those combinations, and providing definitions from
<utility> from std in the STL using case.
This commit is contained in:
Roland Reichwein 2026-04-24 09:33:46 +02:00
parent 3e4d41ca57
commit db05400a8f

View File

@ -39,6 +39,7 @@ SOFTWARE.
#if ETL_USING_STL
#include <tuple>
#include <utility>
#endif
#include "functional.h"
@ -1183,7 +1184,9 @@ namespace etl
namespace std
{
#if ETL_NOT_USING_STL && !((defined(ETL_DEVELOPMENT_OS_APPLE) || (ETL_COMPILER_FULL_VERSION >= 190000)) && defined(ETL_COMPILER_CLANG))
#if ETL_NOT_USING_STL \
&& !((defined(ETL_DEVELOPMENT_OS_APPLE) || (ETL_COMPILER_FULL_VERSION >= 190000) && (ETL_COMPILER_FULL_VERSION < 220000)) \
&& defined(ETL_COMPILER_CLANG))
template <typename T>
struct tuple_size;