LCOV - code coverage report
Current view: top level - zephyr/toolchain - llvm.h Hit Total Coverage
Test: new.info Lines: 0 3 0.0 %
Date: 2024-12-22 00:14:23

          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             : #if __clang_major__ >= 10
      17             : #define __fallthrough __attribute__((fallthrough))
      18             : #endif
      19             : 
      20           0 : #define TOOLCHAIN_CLANG_VERSION \
      21             :         ((__clang_major__ * 10000) + (__clang_minor__ * 100) + \
      22             :           __clang_patchlevel__)
      23             : 
      24           0 : #define TOOLCHAIN_HAS_PRAGMA_DIAG 1
      25             : 
      26             : #if TOOLCHAIN_CLANG_VERSION >= 30800
      27             : #define TOOLCHAIN_HAS_C_GENERIC 1
      28             : #define TOOLCHAIN_HAS_C_AUTO_TYPE 1
      29             : #endif
      30             : 
      31             : #include <zephyr/toolchain/gcc.h>
      32             : 
      33             : /*
      34             :  * Provide these definitions only when minimal libc is used.
      35             :  * Avoid collision with defines from include/zephyr/toolchain/zephyr_stdint.h
      36             :  */
      37             : #ifdef CONFIG_MINIMAL_LIBC
      38             : 
      39             : #define __int_c(v, suffix) v ## suffix
      40             : #define int_c(v, suffix) __int_c(v, suffix)
      41             : #define uint_c(v, suffix) __int_c(v ## U, suffix)
      42             : 
      43             : #ifndef CONFIG_ENFORCE_ZEPHYR_STDINT
      44             : 
      45             : #ifdef __INT64_TYPE__
      46             : #undef __int_least64_c_suffix__
      47             : #undef __int_least32_c_suffix__
      48             : #undef __int_least16_c_suffix__
      49             : #undef __int_least8_c_suffix__
      50             : #ifdef __INT64_C_SUFFIX__
      51             : #define __int_least64_c_suffix__ __INT64_C_SUFFIX__
      52             : #define __int_least32_c_suffix__ __INT64_C_SUFFIX__
      53             : #define __int_least16_c_suffix__ __INT64_C_SUFFIX__
      54             : #define __int_least8_c_suffix__ __INT64_C_SUFFIX__
      55             : #endif /* __INT64_C_SUFFIX__ */
      56             : #endif /* __INT64_TYPE__ */
      57             : 
      58             : #ifdef __INT_LEAST64_TYPE__
      59             : #ifdef __int_least64_c_suffix__
      60             : #define __INT64_C(x)    int_c(x, __int_least64_c_suffix__)
      61             : #define __UINT64_C(x)   uint_c(x, __int_least64_c_suffix__)
      62             : #else
      63             : #define __INT64_C(x)    x
      64             : #define __UINT64_C(x)   x ## U
      65             : #endif /* __int_least64_c_suffix__ */
      66             : #endif /* __INT_LEAST64_TYPE__ */
      67             : 
      68             : #ifdef __INT32_TYPE__
      69             : #undef __int_least32_c_suffix__
      70             : #undef __int_least16_c_suffix__
      71             : #undef __int_least8_c_suffix__
      72             : #ifdef __INT32_C_SUFFIX__
      73             : #define __int_least32_c_suffix__ __INT32_C_SUFFIX__
      74             : #define __int_least16_c_suffix__ __INT32_C_SUFFIX__
      75             : #define __int_least8_c_suffix__ __INT32_C_SUFFIX__
      76             : #endif /* __INT32_C_SUFFIX__ */
      77             : #endif /* __INT32_TYPE__ */
      78             : 
      79             : #ifdef __INT_LEAST32_TYPE__
      80             : #ifdef __int_least32_c_suffix__
      81             : #define __INT32_C(x)    int_c(x, __int_least32_c_suffix__)
      82             : #define __UINT32_C(x)   uint_c(x, __int_least32_c_suffix__)
      83             : #else
      84             : #define __INT32_C(x)    x
      85             : #define __UINT32_C(x)   x ## U
      86             : #endif /* __int_least32_c_suffix__ */
      87             : #endif /* __INT_LEAST32_TYPE__ */
      88             : 
      89             : #endif /* !CONFIG_ENFORCE_ZEPHYR_STDINT */
      90             : 
      91             : #ifdef __INT16_TYPE__
      92             : #undef __int_least16_c_suffix__
      93             : #undef __int_least8_c_suffix__
      94             : #ifdef __INT16_C_SUFFIX__
      95             : #define __int_least16_c_suffix__ __INT16_C_SUFFIX__
      96             : #define __int_least8_c_suffix__ __INT16_C_SUFFIX__
      97             : #endif /* __INT16_C_SUFFIX__ */
      98             : #endif /* __INT16_TYPE__ */
      99             : 
     100             : #ifdef __INT_LEAST16_TYPE__
     101             : #ifdef __int_least16_c_suffix__
     102             : #define __INT16_C(x)    int_c(x, __int_least16_c_suffix__)
     103             : #define __UINT16_C(x)   uint_c(x, __int_least16_c_suffix__)
     104             : #else
     105             : #define __INT16_C(x)    x
     106             : #define __UINT16_C(x)   x ## U
     107             : #endif /* __int_least16_c_suffix__ */
     108             : #endif /* __INT_LEAST16_TYPE__ */
     109             : 
     110             : #ifdef __INT8_TYPE__
     111             : #undef __int_least8_c_suffix__
     112             : #ifdef __INT8_C_SUFFIX__
     113             : #define __int_least8_c_suffix__ __INT8_C_SUFFIX__
     114             : #endif /* __INT8_C_SUFFIX__ */
     115             : #endif /* __INT8_TYPE__ */
     116             : 
     117             : #ifdef __INT_LEAST8_TYPE__
     118             : #ifdef __int_least8_c_suffix__
     119             : #define __INT8_C(x)     int_c(x, __int_least8_c_suffix__)
     120             : #define __UINT8_C(x)    uint_c(x, __int_least8_c_suffix__)
     121             : #else
     122             : #define __INT8_C(x)     x
     123             : #define __UINT8_C(x)    x ## U
     124             : #endif /* __int_least8_c_suffix__ */
     125             : #endif /* __INT_LEAST8_TYPE__ */
     126             : 
     127             : #define __INTMAX_C(x)   int_c(x, __INTMAX_C_SUFFIX__)
     128             : #define __UINTMAX_C(x)  int_c(x, __UINTMAX_C_SUFFIX__)
     129             : 
     130             : #endif /* CONFIG_MINIMAL_LIBC */
     131             : 
     132             : #endif /* ZEPHYR_INCLUDE_TOOLCHAIN_LLVM_H_ */

Generated by: LCOV version 1.14