• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • C
          • Syntax-for-tools
            • Formalized-subset
            • Mapping-to-language-definition
            • Input-files
            • Compilation-database
            • Printer
            • Output-files
            • Abstract-syntax-operations
            • Implementation-environments
            • Abstract-syntax
            • Concrete-syntax
            • Disambiguation
            • Validation
            • Gcc-builtins
              • *gcc-builtin*
                • *gcc-builtin-functions*
                  • *gcc-builtin-vars*
              • Preprocessing
              • Parsing
            • Atc
            • Transformation-tools
            • Language
            • Representation
            • Insertion-sort
            • Pack
          • Soft
          • Bv
          • Imp-language
          • Ethereum
          • Event-macros
          • Java
          • Riscv
          • Bitcoin
          • Zcash
          • Yul
          • ACL2-programming-language
          • Prime-fields
          • Json
          • Syntheto
          • File-io-light
          • Cryptography
          • Number-theory
          • Axe
          • Lists-light
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • *gcc-builtin*

    *gcc-builtin-functions*

    A partial list of functions built-in to GCC.

    Some of the functions here do not seem to be documented in the GCC manual, but have been observed in real-world code accepted by GCC. In particular, the built-ins ending in "_chk", which were observed in glibc.

    Definition: *gcc-builtin-functions*

    (defconst *gcc-builtin-functions*
      (list (ident "__atomic_compare_exchange_n")
            (ident "__atomic_exchange_n")
            (ident "__atomic_fetch_add")
            (ident "__atomic_fetch_and")
            (ident "__atomic_fetch_or")
            (ident "__atomic_fetch_xor")
            (ident "__atomic_load_n")
            (ident "__atomic_signal_fence")
            (ident "__atomic_store_n")
            (ident "__atomic_thread_fence")
            (ident "__builtin___memcpy_chk")
            (ident "__builtin___memmove_chk")
            (ident "__builtin___mempcpy_chk")
            (ident "__builtin___memset_chk")
            (ident "__builtin___snprintf_chk")
            (ident "__builtin___sprintf_chk")
            (ident "__builtin___stpcpy_chk")
            (ident "__builtin___stpncpy_chk")
            (ident "__builtin___strcat_chk")
            (ident "__builtin___strcpy_chk")
            (ident "__builtin___strncat_chk")
            (ident "__builtin___strncpy_chk")
            (ident "__builtin___vsnprintf_chk")
            (ident "__builtin___vsprintf_chk")
            (ident "__builtin_add_overflow")
            (ident "__builtin_add_overflow_p")
            (ident "__builtin_alloca")
            (ident "__builtin_apply")
            (ident "__builtin_apply_args")
            (ident "__builtin_bswap16")
            (ident "__builtin_bswap32")
            (ident "__builtin_bswap64")
            (ident "__builtin_choose_expr")
            (ident "__builtin_clz")
            (ident "__builtin_clzl")
            (ident "__builtin_clzll")
            (ident "__builtin_constant_p")
            (ident "__builtin_copysign")
            (ident "__builtin_copysignf")
            (ident "__builtin_copysignf128")
            (ident "__builtin_copysignl")
            (ident "__builtin_ctz")
            (ident "__builtin_ctzl")
            (ident "__builtin_ctzll")
            (ident "__builtin_dynamic_object_size")
            (ident "__builtin_expect")
            (ident "__builtin_extract_return_addr")
            (ident "__builtin_fabs")
            (ident "__builtin_fabsf")
            (ident "__builtin_fabsf128")
            (ident "__builtin_fabsl")
            (ident "__builtin_fma")
            (ident "__builtin_fpclassify")
            (ident "__builtin_huge_val")
            (ident "__builtin_huge_valf")
            (ident "__builtin_huge_valf128")
            (ident "__builtin_huge_vall")
            (ident "__builtin_ia32_cvtpd2ps")
            (ident "__builtin_ia32_rdtsc")
            (ident "__builtin_inff")
            (ident "__builtin_isfinite")
            (ident "__builtin_isgreater")
            (ident "__builtin_isgreaterequal")
            (ident "__builtin_isinf_sign")
            (ident "__builtin_isless")
            (ident "__builtin_islessequal")
            (ident "__builtin_isnan")
            (ident "__builtin_memchr")
            (ident "__builtin_memcmp")
            (ident "__builtin_memcpy")
            (ident "__builtin_mempcpy")
            (ident "__builtin_memset")
            (ident "__builtin_mul_overflow")
            (ident "__builtin_nan")
            (ident "__builtin_nanf")
            (ident "__builtin_nanf128")
            (ident "__builtin_nanl")
            (ident "__builtin_object_size")
            (ident "__builtin_popcount")
            (ident "__builtin_popcountll")
            (ident "__builtin_return_address")
            (ident "__builtin_signbit")
            (ident "__builtin_signbitl")
            (ident "__builtin_sqrt")
            (ident "__builtin_sqrtf")
            (ident "__builtin_sqrtl")
            (ident "__builtin_stpcpy")
            (ident "__builtin_strcpy")
            (ident "__builtin_strlen")
            (ident "__builtin_strncat")
            (ident "__builtin_strncpy")
            (ident "__builtin_sub_overflow")
            (ident "__builtin_thread_pointer")
            (ident "__builtin_trap")
            (ident "__builtin_unreachable")
            (ident "__builtin_va_arg_pack")
            (ident "__builtin_va_arg_pack_len")
            (ident "__builtin_va_copy")
            (ident "__builtin_va_end")
            (ident "__builtin_va_start")
            (ident "__builtin_vacopy")
            (ident "__sync_add_and_fetch")
            (ident "__sync_and_and_fetch")
            (ident "__sync_bool_compare_and_swap")
            (ident "__sync_fetch_and_add")
            (ident "__sync_fetch_and_and")
            (ident "__sync_fetch_and_nand")
            (ident "__sync_fetch_and_or")
            (ident "__sync_fetch_and_sub")
            (ident "__sync_fetch_and_xor")
            (ident "__sync_lock_release")
            (ident "__sync_lock_test_and_set")
            (ident "__sync_nand_and_fetch")
            (ident "__sync_or_and_fetch")
            (ident "__sync_sub_and_fetch")
            (ident "__sync_synchronize")
            (ident "__sync_val_compare_and_swap")
            (ident "__sync_xor_and_fetch")))