LCOV - code coverage report
Current view: top level - zephyr/toolchain - llvm.h Coverage Total Hit
Test: new.info Lines: 0.0 % 7 0
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2021 Intel Corporation.
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_TOOLCHAIN_LLVM_H_
       8              : #define ZEPHYR_INCLUDE_TOOLCHAIN_LLVM_H_
       9              : 
      10              : #ifndef ZEPHYR_INCLUDE_TOOLCHAIN_H_
      11              : #error Please do not include toolchain-specific headers directly, use <zephyr/toolchain.h> instead
      12              : #endif
      13              : 
      14              : #define __no_optimization __attribute__((optnone))
      15              : 
      16              : #ifndef __fallthrough
      17              : #if __clang_major__ >= 10
      18              : #define __fallthrough __attribute__((fallthrough))
      19              : #endif
      20              : #endif
      21              : 
      22            0 : #define TOOLCHAIN_CLANG_VERSION \
      23              :         ((__clang_major__ * 10000) + (__clang_minor__ * 100) + \
      24              :           __clang_patchlevel__)
      25              : 
      26            0 : #define TOOLCHAIN_HAS_PRAGMA_DIAG 1
      27              : 
      28              : #if TOOLCHAIN_CLANG_VERSION >= 30800
      29              : #define TOOLCHAIN_HAS_C_GENERIC 1
      30              : #define TOOLCHAIN_HAS_C_AUTO_TYPE 1
      31              : #endif
      32              : 
      33              : #include <zephyr/toolchain/gcc.h>
      34              : 
      35            0 : #define TOOLCHAIN_WARNING_SIZEOF_ARRAY_DECAY            "-Wsizeof-array-decay"
      36            0 : #define TOOLCHAIN_WARNING_UNNEEDED_INTERNAL_DECLARATION "-Wunneeded-internal-declaration"
      37              : 
      38            0 : #define TOOLCHAIN_DISABLE_CLANG_WARNING(warning) _TOOLCHAIN_DISABLE_WARNING(clang, warning)
      39            0 : #define TOOLCHAIN_ENABLE_CLANG_WARNING(warning)  _TOOLCHAIN_ENABLE_WARNING(clang, warning)
      40              : 
      41              : /*
      42              :  * Provide these definitions only when minimal libc is used.
      43              :  * Avoid collision with defines from include/zephyr/toolchain/zephyr_stdint.h
      44              :  */
      45              : #ifdef CONFIG_MINIMAL_LIBC
      46              : 
      47              : /*
      48              :  * Predefined __INTN_C/__UINTN_C macros are provided by clang starting in version 20.1.
      49              :  * Avoid redefining these macros if a sufficiently modern clang is being used.
      50              :  */
      51              : #if TOOLCHAIN_CLANG_VERSION < 200100
      52              : 
      53              : #define __int_c(v, suffix) v ## suffix
      54              : #define int_c(v, suffix) __int_c(v, suffix)
      55              : #define uint_c(v, suffix) __int_c(v ## U, suffix)
      56              : 
      57              : #ifndef CONFIG_ENFORCE_ZEPHYR_STDINT
      58              : 
      59              : #ifdef __INT64_TYPE__
      60              : #undef __int_least64_c_suffix__
      61              : #undef __int_least32_c_suffix__
      62              : #undef __int_least16_c_suffix__
      63              : #undef __int_least8_c_suffix__
      64              : #ifdef __INT64_C_SUFFIX__
      65              : #define __int_least64_c_suffix__ __INT64_C_SUFFIX__
      66              : #define __int_least32_c_suffix__ __INT64_C_SUFFIX__
      67              : #define __int_least16_c_suffix__ __INT64_C_SUFFIX__
      68              : #define __int_least8_c_suffix__ __INT64_C_SUFFIX__
      69              : #endif /* __INT64_C_SUFFIX__ */
      70              : #endif /* __INT64_TYPE__ */
      71              : 
      72              : #ifdef __INT_LEAST64_TYPE__
      73              : #ifdef __int_least64_c_suffix__
      74              : #define __INT64_C(x)    int_c(x, __int_least64_c_suffix__)
      75              : #define __UINT64_C(x)   uint_c(x, __int_least64_c_suffix__)
      76              : #else
      77              : #define __INT64_C(x)    x
      78              : #define __UINT64_C(x)   x ## U
      79              : #endif /* __int_least64_c_suffix__ */
      80              : #endif /* __INT_LEAST64_TYPE__ */
      81              : 
      82              : #ifdef __INT32_TYPE__
      83              : #undef __int_least32_c_suffix__
      84              : #undef __int_least16_c_suffix__
      85              : #undef __int_least8_c_suffix__
      86              : #ifdef __INT32_C_SUFFIX__
      87              : #define __int_least32_c_suffix__ __INT32_C_SUFFIX__
      88              : #define __int_least16_c_suffix__ __INT32_C_SUFFIX__
      89              : #define __int_least8_c_suffix__ __INT32_C_SUFFIX__
      90              : #endif /* __INT32_C_SUFFIX__ */
      91              : #endif /* __INT32_TYPE__ */
      92              : 
      93              : #ifdef __INT_LEAST32_TYPE__
      94              : #ifdef __int_least32_c_suffix__
      95              : #define __INT32_C(x)    int_c(x, __int_least32_c_suffix__)
      96              : #define __UINT32_C(x)   uint_c(x, __int_least32_c_suffix__)
      97              : #else
      98              : #define __INT32_C(x)    x
      99              : #define __UINT32_C(x)   x ## U
     100              : #endif /* __int_least32_c_suffix__ */
     101              : #endif /* __INT_LEAST32_TYPE__ */
     102              : 
     103              : #endif /* !CONFIG_ENFORCE_ZEPHYR_STDINT */
     104              : 
     105              : #ifdef __INT16_TYPE__
     106              : #undef __int_least16_c_suffix__
     107              : #undef __int_least8_c_suffix__
     108              : #ifdef __INT16_C_SUFFIX__
     109              : #define __int_least16_c_suffix__ __INT16_C_SUFFIX__
     110              : #define __int_least8_c_suffix__ __INT16_C_SUFFIX__
     111              : #endif /* __INT16_C_SUFFIX__ */
     112              : #endif /* __INT16_TYPE__ */
     113              : 
     114              : #ifdef __INT_LEAST16_TYPE__
     115              : #ifdef __int_least16_c_suffix__
     116              : #define __INT16_C(x)    int_c(x, __int_least16_c_suffix__)
     117              : #define __UINT16_C(x)   uint_c(x, __int_least16_c_suffix__)
     118              : #else
     119              : #define __INT16_C(x)    x
     120              : #define __UINT16_C(x)   x ## U
     121              : #endif /* __int_least16_c_suffix__ */
     122              : #endif /* __INT_LEAST16_TYPE__ */
     123              : 
     124              : #ifdef __INT8_TYPE__
     125              : #undef __int_least8_c_suffix__
     126              : #ifdef __INT8_C_SUFFIX__
     127              : #define __int_least8_c_suffix__ __INT8_C_SUFFIX__
     128              : #endif /* __INT8_C_SUFFIX__ */
     129              : #endif /* __INT8_TYPE__ */
     130              : 
     131              : #ifdef __INT_LEAST8_TYPE__
     132              : #ifdef __int_least8_c_suffix__
     133              : #define __INT8_C(x)     int_c(x, __int_least8_c_suffix__)
     134              : #define __UINT8_C(x)    uint_c(x, __int_least8_c_suffix__)
     135              : #else
     136              : #define __INT8_C(x)     x
     137              : #define __UINT8_C(x)    x ## U
     138              : #endif /* __int_least8_c_suffix__ */
     139              : #endif /* __INT_LEAST8_TYPE__ */
     140              : 
     141              : #define __INTMAX_C(x)   int_c(x, __INTMAX_C_SUFFIX__)
     142              : #define __UINTMAX_C(x)  int_c(x, __UINTMAX_C_SUFFIX__)
     143              : 
     144              : #endif /* TOOLCHAIN_CLANG_VERSION < 200100 */
     145              : 
     146              : #endif /* CONFIG_MINIMAL_LIBC */
     147              : 
     148              : #endif /* ZEPHYR_INCLUDE_TOOLCHAIN_LLVM_H_ */
        

Generated by: LCOV version 2.0-1