libGimbal 0.1.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_INITIALIZER(f)
 
#define GBL_THREAD_LOCAL
 
#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_PREFETCH(...)
 
#define GBL_INLINE_
 
#define GBL_INLINE
 
#define GBL_FORCE_INLINE
 
#define GBL_NO_INLINE
 
#define GBL_ALLOCA
 
#define GBL_QUICK_EXIT(c)
 
#define GBL_PRAGMA_MACRO_PUSH(X)
 
#define GBL_PRAGMA_MACRO_POP(X)
 
#define GBL_MAX_ALIGN_T
 
#define GBL_ALLOC_MIN_SIZE
 
#define GBL_STMT_START
 
#define GBL_STMT_END
 
#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, compiler, and platform.

See also
gimbal_macro_utilities.h

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

  • Compiler type
  • Architecture 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 21 of file gimbal_compiler.h.

◆ GBL_NULL

#define GBL_NULL

Definition at line 191 of file gimbal_compiler.h.

◆ GBL_EXPORT_SHARED

#define GBL_EXPORT_SHARED

Definition at line 212 of file gimbal_compiler.h.

◆ GBL_IMPORT_SHARED

#define GBL_IMPORT_SHARED

Definition at line 213 of file gimbal_compiler.h.

◆ GBL_INITIALIZER

#define GBL_INITIALIZER ( f)

Definition at line 234 of file gimbal_compiler.h.

234# define GBL_INITIALIZER(f) \
235 static void f(void) __attribute__((constructor)); \
236 static void f(void)

◆ GBL_THREAD_LOCAL

#define GBL_THREAD_LOCAL

Definition at line 248 of file gimbal_compiler.h.

◆ GBL_FP_FAST

#define GBL_FP_FAST

Definition at line 264 of file gimbal_compiler.h.

◆ GBL_FP_PRECISE

#define GBL_FP_PRECISE

Definition at line 265 of file gimbal_compiler.h.

◆ GBL_CPP_RTTI

#define GBL_CPP_RTTI

Definition at line 284 of file gimbal_compiler.h.

◆ GBL_CPP_EXCEPTIONS

#define GBL_CPP_EXCEPTIONS

Definition at line 292 of file gimbal_compiler.h.

◆ GBL_NOEXCEPT

#define GBL_NOEXCEPT

Definition at line 293 of file gimbal_compiler.h.

◆ GBL_CONSTEXPR

#define GBL_CONSTEXPR

Definition at line 304 of file gimbal_compiler.h.

◆ GBL_CONSTEVAL

#define GBL_CONSTEVAL

Definition at line 305 of file gimbal_compiler.h.

◆ GBL_CPP_CONCEPTS

#define GBL_CPP_CONCEPTS

Definition at line 312 of file gimbal_compiler.h.

◆ GBL_CPP_SOURCE_LOCATION

#define GBL_CPP_SOURCE_LOCATION

Definition at line 320 of file gimbal_compiler.h.

◆ GBL_DEPRECATED

#define GBL_DEPRECATED ( msg)

Definition at line 331 of file gimbal_compiler.h.

◆ GBL_FALLTHROUGH

#define GBL_FALLTHROUGH

Definition at line 342 of file gimbal_compiler.h.

◆ GBL_LIKELY

#define GBL_LIKELY ( exp)

Definition at line 355 of file gimbal_compiler.h.

◆ GBL_UNLIKELY

#define GBL_UNLIKELY ( exp)

Definition at line 369 of file gimbal_compiler.h.

◆ GBL_MAYBE_UNUSED

#define GBL_MAYBE_UNUSED

Definition at line 383 of file gimbal_compiler.h.

◆ GBL_NO_UNIQUE_ADDRESS

#define GBL_NO_UNIQUE_ADDRESS

Definition at line 394 of file gimbal_compiler.h.

◆ GBL_NODISCARD

#define GBL_NODISCARD

Definition at line 405 of file gimbal_compiler.h.

◆ GBL_NORETURN

#define GBL_NORETURN

Definition at line 419 of file gimbal_compiler.h.

◆ GBL_STATIC_ASSERT

#define GBL_STATIC_ASSERT ( cond)

Definition at line 434 of file gimbal_compiler.h.

◆ GBL_STATIC_ASSERT_MSG

#define GBL_STATIC_ASSERT_MSG ( cond,
msg )

Definition at line 435 of file gimbal_compiler.h.

◆ GBL_RESTRICT

#define GBL_RESTRICT

Definition at line 441 of file gimbal_compiler.h.

◆ GBL_STATIC_ARRAY

#define GBL_STATIC_ARRAY ( idx)

Definition at line 447 of file gimbal_compiler.h.

◆ GBL_STRUCT_INIT

#define GBL_STRUCT_INIT ( type,
... )

Definition at line 453 of file gimbal_compiler.h.

◆ GBL_PREFETCH

#define GBL_PREFETCH ( ...)

Definition at line 495 of file gimbal_compiler.h.

◆ GBL_INLINE_

#define GBL_INLINE_

Definition at line 501 of file gimbal_compiler.h.

◆ GBL_INLINE

#define GBL_INLINE

Definition at line 507 of file gimbal_compiler.h.

◆ GBL_FORCE_INLINE

#define GBL_FORCE_INLINE

Definition at line 515 of file gimbal_compiler.h.

◆ GBL_NO_INLINE

#define GBL_NO_INLINE

Definition at line 523 of file gimbal_compiler.h.

◆ GBL_ALLOCA

#define GBL_ALLOCA

Definition at line 565 of file gimbal_compiler.h.

◆ GBL_QUICK_EXIT

#define GBL_QUICK_EXIT ( c)

Definition at line 575 of file gimbal_compiler.h.

◆ GBL_PRAGMA_MACRO_PUSH

#define GBL_PRAGMA_MACRO_PUSH ( X)

Definition at line 579 of file gimbal_compiler.h.

◆ GBL_PRAGMA_MACRO_POP

#define GBL_PRAGMA_MACRO_POP ( X)

Definition at line 583 of file gimbal_compiler.h.

◆ GBL_MAX_ALIGN_T

#define GBL_MAX_ALIGN_T

Definition at line 589 of file gimbal_compiler.h.

◆ GBL_ALLOC_MIN_SIZE

#define GBL_ALLOC_MIN_SIZE

Definition at line 592 of file gimbal_compiler.h.

◆ GBL_STMT_START

#define GBL_STMT_START

Definition at line 621 of file gimbal_compiler.h.

◆ GBL_STMT_END

#define GBL_STMT_END

Definition at line 622 of file gimbal_compiler.h.

◆ GBL_NULL_TERMINATED

#define GBL_NULL_TERMINATED

Definition at line 627 of file gimbal_compiler.h.

◆ GBL_BSWAP_U16

#define GBL_BSWAP_U16 ( v)

Definition at line 635 of file gimbal_compiler.h.

◆ GBL_BSWAP_U32

#define GBL_BSWAP_U32 ( v)

Definition at line 636 of file gimbal_compiler.h.

◆ GBL_BSWAP_U64

#define GBL_BSWAP_U64 ( v)

Definition at line 637 of file gimbal_compiler.h.

◆ GBL_BITMASK_POPCOUNT_SW

#define GBL_BITMASK_POPCOUNT_SW ( mask)

Definition at line 651 of file gimbal_compiler.h.

651# define GBL_BITMASK_POPCOUNT_SW(mask) \
652 (((mask) >= sizeof(unsigned long) * CHAR_BIT) ? \
653 (unsigned long) -1 : (1u << (mask)) - 1)

◆ GBL_BITMASK_CLZ

#define GBL_BITMASK_CLZ ( mask)

Definition at line 676 of file gimbal_compiler.h.

◆ GBL_BITMASK_CTZ

#define GBL_BITMASK_CTZ ( mask)

Definition at line 677 of file gimbal_compiler.h.

◆ GBL_BITMASK_FFS

#define GBL_BITMASK_FFS ( mask)

Definition at line 678 of file gimbal_compiler.h.

◆ GBL_BITMASK_POPCOUNT

#define GBL_BITMASK_POPCOUNT ( mask)

Definition at line 679 of file gimbal_compiler.h.