Module: CExtractorConstants

Included in:
CExtractor, CExtractorCodeText, CExtractorDeclarations, CExtractorFunctions
Defined in:
lib/ceedling/c_extractor/c_extractor_constants.rb

Overview

=========================================================================

Ceedling - Test-Centered Build System for C ThrowTheSwitch.org Copyright (c) 2010-26 Mike Karlesky, Mark VanderVoord, & Greg Williams SPDX-License-Identifier: MIT

Constant Summary collapse

DEFAULT_MAX_LINE_LENGTH =

1000 character safety limit

1000
DEFAULT_CHUNK_SIZE =

16 KB -- enough for most functions

(16 * 1024)
DEFAULT_MAX_FUNCTION_LENGTH =

5 MB mega-length safety limit

(5 * 1024 * 1024)
PRIVATE_KEYWORDS =

C function decorators that indicate private (file-local) visibility

['static', 'inline', '__inline', '__inline__', '__forceinline'].freeze
MSVC_CALLING_CONVENTIONS =

MSVC calling-convention keywords (appear between return type and function name)

['__cdecl', '__stdcall', '__fastcall', '__thiscall', '__vectorcall'].freeze
C11_SPECIFIER_KEYWORDS =

C11/C23 bare specifier keywords (no argument list)

['_Noreturn', '_Thread_local', '_Atomic', '_Bool', '_Complex', '_Imaginary'].freeze
TYPE_KEYWORDS =

Common type keywords that are part of return type, not decorators

['unsigned', 'signed', 'long', 'short', 'struct', 'union', 'enum'].freeze
TYPE_QUALIFIER_KEYWORDS =

C type qualifiers

['const', 'volatile', 'restrict'].freeze
MODIFIER_KEYWORDS =

C function modifier keywords

(['extern'] + TYPE_QUALIFIER_KEYWORDS).freeze
DECORATOR_KEYWORDS =

Keywords stripped when producing clean declaration / signature_stripped fields

(PRIVATE_KEYWORDS + TYPE_QUALIFIER_KEYWORDS + ['extern']).freeze