libGimbal 0.2.0
C17-Based Extended Standard Library and Cross-Language Runtime Framework
Loading...
Searching...
No Matches
gimbal_compiler.h File Reference

Go to the source code of this file.

Macros

#define __STDC_WANT_LIB_EXT1__
 
#define GBL_NULL
 
#define GBL_EXPORT_SHARED
 
#define GBL_IMPORT_SHARED
 
#define GBL_FP_FAST
 
#define GBL_FP_PRECISE
 
#define GBL_CPP_RTTI
 
#define GBL_CPP_EXCEPTIONS
 
#define GBL_NOEXCEPT
 
#define GBL_CONSTEXPR
 
#define GBL_CONSTEVAL
 
#define GBL_CPP_CONCEPTS
 
#define GBL_CPP_SOURCE_LOCATION
 
#define GBL_DEPRECATED(msg)
 
#define GBL_FALLTHROUGH
 
#define GBL_LIKELY(exp)
 
#define GBL_UNLIKELY(exp)
 
#define GBL_MAYBE_UNUSED
 
#define GBL_NO_UNIQUE_ADDRESS
 
#define GBL_NODISCARD
 
#define GBL_NORETURN
 
#define GBL_STATIC_ASSERT(cond)
 
#define GBL_STATIC_ASSERT_MSG(cond, msg)
 
#define GBL_RESTRICT
 
#define GBL_STATIC_ARRAY(idx)
 
#define GBL_STRUCT_INIT(type, ...)
 
#define GBL_INLINE_
 
#define GBL_INLINE
 
#define GBL_FORCE_INLINE
 
#define GBL_NO_INLINE
 
#define GBL_PRAGMA_MACRO_PUSH(X)
 
#define GBL_PRAGMA_MACRO_POP(X)
 
#define GBL_MAX_ALIGN_T
 
#define GBL_ALLOC_MIN_SIZE
 
#define GBL_NULL_TERMINATED
 
#define GBL_BSWAP_U16(v)
 
#define GBL_BSWAP_U32(v)
 
#define GBL_BSWAP_U64(v)
 
#define GBL_BITMASK_POPCOUNT_SW(mask)
 
#define GBL_BITMASK_CLZ(mask)
 
#define GBL_BITMASK_CTZ(mask)
 
#define GBL_BITMASK_FFS(mask)
 
#define GBL_BITMASK_POPCOUNT(mask)
 

Detailed Description

Helper Definitions for language and compiler.

See also
gimbal_macro_utilities.h

This header contains an assortment of preprocessor definitions for the following:

  • Compiler type
  • C/C++ language revision
  • C/C++ language features
  • Compiler extensions and features
Author
2023, 2025 Falco Girgis

Definition in file gimbal_compiler.h.

Macro Definition Documentation

◆ __STDC_WANT_LIB_EXT1__

#define __STDC_WANT_LIB_EXT1__

Definition at line 20 of file gimbal_compiler.h.

◆ GBL_NULL

#define GBL_NULL

Definition at line 96 of file gimbal_compiler.h.

◆ GBL_EXPORT_SHARED

#define GBL_EXPORT_SHARED

Definition at line 107 of file gimbal_compiler.h.

◆ GBL_IMPORT_SHARED

#define GBL_IMPORT_SHARED

Definition at line 108 of file gimbal_compiler.h.

◆ GBL_FP_FAST

#define GBL_FP_FAST

Definition at line 123 of file gimbal_compiler.h.

◆ GBL_FP_PRECISE

#define GBL_FP_PRECISE

Definition at line 124 of file gimbal_compiler.h.

◆ GBL_CPP_RTTI

#define GBL_CPP_RTTI

Definition at line 143 of file gimbal_compiler.h.

◆ GBL_CPP_EXCEPTIONS

#define GBL_CPP_EXCEPTIONS

Definition at line 151 of file gimbal_compiler.h.

◆ GBL_NOEXCEPT

#define GBL_NOEXCEPT

Definition at line 152 of file gimbal_compiler.h.

◆ GBL_CONSTEXPR

#define GBL_CONSTEXPR

Definition at line 163 of file gimbal_compiler.h.

◆ GBL_CONSTEVAL

#define GBL_CONSTEVAL

Definition at line 164 of file gimbal_compiler.h.

◆ GBL_CPP_CONCEPTS

#define GBL_CPP_CONCEPTS

Definition at line 171 of file gimbal_compiler.h.

◆ GBL_CPP_SOURCE_LOCATION

#define GBL_CPP_SOURCE_LOCATION

Definition at line 179 of file gimbal_compiler.h.

◆ GBL_DEPRECATED

#define GBL_DEPRECATED ( msg)

Definition at line 190 of file gimbal_compiler.h.

◆ GBL_FALLTHROUGH

#define GBL_FALLTHROUGH

Definition at line 201 of file gimbal_compiler.h.

◆ GBL_LIKELY

#define GBL_LIKELY ( exp)

Definition at line 214 of file gimbal_compiler.h.

◆ GBL_UNLIKELY

#define GBL_UNLIKELY ( exp)

Definition at line 228 of file gimbal_compiler.h.

◆ GBL_MAYBE_UNUSED

#define GBL_MAYBE_UNUSED

Definition at line 242 of file gimbal_compiler.h.

◆ GBL_NO_UNIQUE_ADDRESS

#define GBL_NO_UNIQUE_ADDRESS

Definition at line 253 of file gimbal_compiler.h.

◆ GBL_NODISCARD

#define GBL_NODISCARD

Definition at line 264 of file gimbal_compiler.h.

◆ GBL_NORETURN

#define GBL_NORETURN

Definition at line 278 of file gimbal_compiler.h.

◆ GBL_STATIC_ASSERT

#define GBL_STATIC_ASSERT ( cond)

Definition at line 293 of file gimbal_compiler.h.

◆ GBL_STATIC_ASSERT_MSG

#define GBL_STATIC_ASSERT_MSG ( cond,
msg )

Definition at line 294 of file gimbal_compiler.h.

◆ GBL_RESTRICT

#define GBL_RESTRICT

Definition at line 300 of file gimbal_compiler.h.

◆ GBL_STATIC_ARRAY

#define GBL_STATIC_ARRAY ( idx)

Definition at line 306 of file gimbal_compiler.h.

◆ GBL_STRUCT_INIT

#define GBL_STRUCT_INIT ( type,
... )

Definition at line 312 of file gimbal_compiler.h.

◆ GBL_INLINE_

#define GBL_INLINE_

Definition at line 326 of file gimbal_compiler.h.

◆ GBL_INLINE

#define GBL_INLINE

Definition at line 332 of file gimbal_compiler.h.

◆ GBL_FORCE_INLINE

#define GBL_FORCE_INLINE

Definition at line 340 of file gimbal_compiler.h.

◆ GBL_NO_INLINE

#define GBL_NO_INLINE

Definition at line 348 of file gimbal_compiler.h.

◆ GBL_PRAGMA_MACRO_PUSH

#define GBL_PRAGMA_MACRO_PUSH ( X)

Definition at line 375 of file gimbal_compiler.h.

◆ GBL_PRAGMA_MACRO_POP

#define GBL_PRAGMA_MACRO_POP ( X)

Definition at line 379 of file gimbal_compiler.h.

◆ GBL_MAX_ALIGN_T

#define GBL_MAX_ALIGN_T

Definition at line 385 of file gimbal_compiler.h.

◆ GBL_ALLOC_MIN_SIZE

#define GBL_ALLOC_MIN_SIZE

Definition at line 388 of file gimbal_compiler.h.

◆ GBL_NULL_TERMINATED

#define GBL_NULL_TERMINATED

Definition at line 390 of file gimbal_compiler.h.

◆ GBL_BSWAP_U16

#define GBL_BSWAP_U16 ( v)

Definition at line 398 of file gimbal_compiler.h.

◆ GBL_BSWAP_U32

#define GBL_BSWAP_U32 ( v)

Definition at line 399 of file gimbal_compiler.h.

◆ GBL_BSWAP_U64

#define GBL_BSWAP_U64 ( v)

Definition at line 400 of file gimbal_compiler.h.

◆ GBL_BITMASK_POPCOUNT_SW

#define GBL_BITMASK_POPCOUNT_SW ( mask)

Definition at line 414 of file gimbal_compiler.h.

414# define GBL_BITMASK_POPCOUNT_SW(mask) \
415 (((mask) >= sizeof(unsigned long) * CHAR_BIT) ? \
416 (unsigned long) -1 : (1u << (mask)) - 1)

◆ GBL_BITMASK_CLZ

#define GBL_BITMASK_CLZ ( mask)

Definition at line 439 of file gimbal_compiler.h.

◆ GBL_BITMASK_CTZ

#define GBL_BITMASK_CTZ ( mask)

Definition at line 440 of file gimbal_compiler.h.

◆ GBL_BITMASK_FFS

#define GBL_BITMASK_FFS ( mask)

Definition at line 441 of file gimbal_compiler.h.

◆ GBL_BITMASK_POPCOUNT

#define GBL_BITMASK_POPCOUNT ( mask)

Definition at line 442 of file gimbal_compiler.h.