eĿlipsis
a language independent preprocessor
 
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Loading...
Searching...
No Matches
ellipsis-macros.c File Reference
#include <time.h>
#include <stdlib.h>
#include <threads.h>
#include "language/ellipsis-special.h"
#include "ellipsis-macros.h"
#include "language/directive/ellipsis-special-directive_define.h"
#include "language/directive/ellipsis-special-directive_include.h"
#include "ellipsis-lexer.h"
#include "utils/ellipsis-error.h"
#include "encoding/ellipsis-case.h"
#include "ellipsis-include.h"
#include "ellipsis-expression.h"
#include "language/directive/ellipsis-directive.h"
#include "ellipsis-filter.h"
#include "ellipsis-tokenize.h"
#include <stdio.h>
#include <stdint.h>
#include "ellipsis-builtins.h"
Include dependency graph for ellipsis-macros.c:

Macros

#define ELLIPSIS_CONTRACT(COUNT, COND, ACTION, VERB, CSTR, CTYPE, ...)
 
#define ELLIPSIS_CONTRACT_CHECK_STATIC(CTYPE, COND, CSTR, ...)
 
#define ELLIPSIS_CONTRACT_ICE_OR_TRUE(...)
 
#define ELLIPSIS_CONTRACT_IMPL(COUNT, COND, ACTION, VERB, CSTR, CTYPE, ...)
 
#define ELLIPSIS_CONTRACT_VIOLATION(COUNT, VERB, CTYPE, CSTR, ...)
 
#define ELLIPSIS_FA_UNDEPRECATE   [[__deprecated__("you should not see this")]]
 
#define ELLIPSIS_STR32_LITERAL   ELLIPSIS_STR32_LITERAL_LOCAL
 
#define ELLIPSIS_STR8_LITERAL   ELLIPSIS_STR8_LITERAL_LOCAL
 
#define ELLIPSIS_TEST_ICE(...)   (false ? ELLIPSIS_TO_VOIDS(__VA_ARGS__) : (ellipsis‿contracts‿is_ice*)nullptr)
 
#define ELLIPSIS_TO_VOIDS(...)   ((void*)((uintptr_t)((__VA_ARGS__)-(__VA_ARGS__))))
 
#define STRINGIFY(...)   STRINGIFY_(__VA_ARGS__)
 
#define STRINGIFY_(...)   #__VA_ARGS__
 

Typedefs

typedef struct ellipsis‿contracts‿is_ice ellipsis‿contracts‿is_ice
 

Functions

static _Atomic (vtype)
 
static void callback_insert (char const *name, ellipsis‿token *(*cb)(ellipsis‿token *), bool is_functional)
 
static void ellipsis‿macros‿_Once‿atexit‿callback (void)
 
static void ellipsis‿macros‿_Once‿init‿callback (void)
 
static void ellipsis‿macros‿_Once‿init‿user (void)
 
void ellipsis‿macros‿_Once‿init (void)
 
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿activate (ellipsis‿str32 *n)
 
static ellipsis‿tokenellipsis‿macros‿cb‿addition (ellipsis‿token *tk, int val, bool set, bool ignore)
 
static ellipsis‿tokenellipsis‿macros‿cb‿any (ellipsis‿token *arg)
 
static ellipsis‿tokenellipsis‿macros‿cb‿bind (ellipsis‿token *arg)
 
static ellipsis‿tokenellipsis‿macros‿cb‿clear (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿commas (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿counter (ellipsis‿token *)
 
static ellipsis‿tokenellipsis‿macros‿cb‿decrement (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿defined (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿empty (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿error (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿evaluate (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿evaluate_bin (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿evaluate_dec (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿evaluate_hex (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿evaluate_oct (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿file (ellipsis‿token *)
 
static ellipsis‿tokenellipsis‿macros‿cb‿fileno (ellipsis‿token *)
 
static ellipsis‿tokenellipsis‿macros‿cb‿freeze (ellipsis‿token *first)
 
static ellipsis‿tokenellipsis‿macros‿cb‿has_embed (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿has_extension (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿has_feature (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿has_file (ellipsis‿token *tk, bool bin, bool lim, bool next)
 
static ellipsis‿tokenellipsis‿macros‿cb‿has_include (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿has_include_next (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿include_depth (ellipsis‿token *)
 
static ellipsis‿tokenellipsis‿macros‿cb‿increment (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿instant (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿is_identifier (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿limit_embed (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿limit_include (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿line (ellipsis‿token *)
 
static ellipsis‿tokenellipsis‿macros‿cb‿lineno (ellipsis‿token *)
 
static ellipsis‿tokenellipsis‿macros‿cb‿parenthesis_depth (ellipsis‿token *)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set0 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set1 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set2 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set3 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set4 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set5 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set6 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set7 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set8 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿set9 (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿tolower (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿toupper (ellipsis‿token *tk)
 
static ellipsis‿tokenellipsis‿macros‿cb‿warning (ellipsis‿token *tk)
 
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿deactivate (ellipsis‿str32 *n)
 
ellipsis‿tokenellipsis‿macros‿find (ellipsis‿str32 const *n)
 
ellipsis‿tokenellipsis‿macros‿functions_find (ellipsis‿str32 const *n)
 
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿insert (ellipsis‿token *t)
 
ellipsis‿token *() ellipsis‿macros‿mangle (ellipsis‿token *tk)
 
void ellipsis‿macros‿paren‿dec ()
 
void ellipsis‿macros‿paren‿inc ()
 
void ellipsis‿macros‿paren‿set (size_t val)
 
ELLIPSIS_FA_UNDEPRECATE void ellipsis‿macros‿remove (ellipsis‿str32 const *n)
 
void ellipsis‿macros‿repair (ellipsis‿str32 name[static 1])
 
ellipsis‿token‿listellipsis‿macros‿unbind_get ()
 
ellipsis‿token‿listellipsis‿macros‿unbind_set (ellipsis‿token‿list *t)
 
void ellipsis‿macros‿unfreeze (void)
 
void functions_insert (char const *name, ellipsis‿token *(*cb)(ellipsis‿token *))
 
static void macro_signed (char const *name, vtype val)
 
static void macro_string (char const *name, char const *str)
 

Variables

static char date_entry [32]
 
thread_local bool volatile ellipsis‿contracts‿ignore‿dynamic
 
thread_local bool volatile ellipsis‿contracts‿proceed‿dynamic
 
thread_local bool volatile ellipsis‿contracts‿verbose‿dynamic
 
static void(*const ellipsis‿macros‿_Once‿atexit‿pointer )(void) = ellipsis‿macros‿_Once‿atexit‿callback
 
bool const ellipsis‿macros‿_Once‿strong = true
 
static thread_local ellipsis‿token‿listellipsis‿macros‿unbind = nullptr
 
static char expand_prefix_max_entry [sizeof("__EXPAND_PREFIX_MAX__")+32]
 
static ellipsis‿token‿dictionary functions
 
static char integer_date_entry [32]
 
static char iso_date_entry [32]
 
static ellipsis‿token‿dictionary macros
 
static mtx_t mtx
 
static char * predefined []
 
static char time_entry [32]
 
static bool undefinable = false
 

Detailed Description

Warning
This is a file generated by eĿlipsis version 20250309, do not modify

Macro Definition Documentation

◆ ELLIPSIS_CONTRACT

#define ELLIPSIS_CONTRACT (   COUNT,
  COND,
  ACTION,
  VERB,
  CSTR,
  CTYPE,
  ... 
)
Value:
\
do { \
_Generic( \
default: ELLIPSIS_CONTRACT_IMPL(COUNT, COND, ACTION, VERB, CSTR, CTYPE __VA_OPT__(,) __VA_ARGS__));\
} while(false)
struct ellipsis‿contracts‿is_ice ellipsis‿contracts‿is_ice
Definition ellipsis-expression.c:24
#define ELLIPSIS_TEST_ICE(...)
Definition ellipsis-macros.c:58
#define ELLIPSIS_CONTRACT_CHECK_STATIC(CTYPE, COND, CSTR,...)
Definition ellipsis-macros.c:66
#define ELLIPSIS_CONTRACT_IMPL(COUNT, COND, ACTION, VERB, CSTR, CTYPE,...)
Definition ellipsis-macros.c:48
#define __VA_OPT__
A pseudo macro that cannot be redefined.
Definition ellipsis-predefined.dirs:89

◆ ELLIPSIS_CONTRACT_CHECK_STATIC

#define ELLIPSIS_CONTRACT_CHECK_STATIC (   CTYPE,
  COND,
  CSTR,
  ... 
)
Value:
({\
static_assert(ELLIPSIS_CONTRACT_ICE_OR_TRUE(COND), \
"compile time violation of " CTYPE " " CSTR \
__VA_OPT__(", ") __VA_ARGS__ );\
})
#define ELLIPSIS_CONTRACT_ICE_OR_TRUE(...)
Definition ellipsis-macros.c:60

◆ ELLIPSIS_CONTRACT_ICE_OR_TRUE

#define ELLIPSIS_CONTRACT_ICE_OR_TRUE (   ...)
Value:
_Generic( \
ELLIPSIS_TEST_ICE(__VA_ARGS__), \
ellipsis‿contracts‿is_ice*: (__VA_ARGS__), \
default: true)
#define true
The constant true made accessible to the preprocessor.
Definition ellipsis-builtins.dirs:32

◆ ELLIPSIS_CONTRACT_IMPL

#define ELLIPSIS_CONTRACT_IMPL (   COUNT,
  COND,
  ACTION,
  VERB,
  CSTR,
  CTYPE,
  ... 
)
Value:
(((false) || (COND)) \
? (void)0 \
: (ELLIPSIS_CONTRACT_VIOLATION(COUNT, VERB, CTYPE, CSTR __VA_OPT__(,) __VA_ARGS__) \
, ((false) \
? (void)0 \
: ACTION())))
#define ELLIPSIS_CONTRACT_VIOLATION(COUNT, VERB, CTYPE, CSTR,...)
Definition ellipsis-macros.c:39

◆ ELLIPSIS_CONTRACT_VIOLATION

#define ELLIPSIS_CONTRACT_VIOLATION (   COUNT,
  VERB,
  CTYPE,
  CSTR,
  ... 
)
Value:
({\
static char const contract_format_ ## COUNT[] = \
__FILE__ ":" STRINGIFY(__LINE__) ": violation of " CTYPE " `" CSTR "`" __VA_OPT__(", ") __VA_ARGS__ "\n";\
(VERB \
? fputs(contract_format_ ## COUNT, stderr) \
: 0);\
})
#define __FILE__
The current source file as required by the C standard.
Definition ellipsis-builtins.dirs:21
#define __LINE__
The current physical source line as required by the C standard.
Definition ellipsis-builtins.dirs:24
#define STRINGIFY(...)
Definition ellipsis-macros.c:36

◆ ELLIPSIS_FA_UNDEPRECATE

#define ELLIPSIS_FA_UNDEPRECATE   [[__deprecated__("you should not see this")]]

◆ ELLIPSIS_STR32_LITERAL

#define ELLIPSIS_STR32_LITERAL   ELLIPSIS_STR32_LITERAL_LOCAL

◆ ELLIPSIS_STR8_LITERAL

#define ELLIPSIS_STR8_LITERAL   ELLIPSIS_STR8_LITERAL_LOCAL

◆ ELLIPSIS_TEST_ICE

#define ELLIPSIS_TEST_ICE (   ...)    (false ? ELLIPSIS_TO_VOIDS(__VA_ARGS__) : (ellipsis‿contracts‿is_ice*)nullptr)

◆ ELLIPSIS_TO_VOIDS

#define ELLIPSIS_TO_VOIDS (   ...)    ((void*)((uintptr_t)((__VA_ARGS__)-(__VA_ARGS__))))

◆ STRINGIFY

#define STRINGIFY (   ...)    STRINGIFY_(__VA_ARGS__)

◆ STRINGIFY_

#define STRINGIFY_ (   ...)    #__VA_ARGS__

Typedef Documentation

◆ ellipsis‿contracts‿is_ice

Function Documentation

◆ _Atomic()

static _Atomic ( vtype  )
static

Referenced by ellipsis‿macros‿cb‿bind(), and ellipsis‿macros‿cb‿counter().

Here is the caller graph for this function:

◆ callback_insert()

static void callback_insert ( char const *  name,
ellipsis‿token *(*)(ellipsis‿token *)  cb,
bool  is_functional 
)
static

start inner defer anchor at level 1

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿token::callback, ellipsis‿str32‿delete(), ellipsis‿token‿dictionary‿find(), ellipsis‿token‿what‿callback, ellipsis‿token::is_functional, ellipsis‿token::is_undefinable, ellipsis‿token::is_what, macros, ellipsis‿token::payload, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿_Once‿atexit‿callback()

static void ellipsis‿macros‿_Once‿atexit‿callback ( void  )
static

◆ ellipsis‿macros‿_Once‿init‿callback()

static void ellipsis‿macros‿_Once‿init‿callback ( void  )
static

References __FILE__, ellipsis‿macros‿_Once‿atexit‿pointer, ellipsis‿macros‿_Once‿init‿user(), and GNU_ATTR_USED.

Referenced by ellipsis‿macros‿_Once‿init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿_Once‿init‿user()

static void ellipsis‿macros‿_Once‿init‿user ( void  )
static

start inner defer anchor at level 1

defer needs braces and a semicolon

end inner defer anchor, level 1

References __FILE__, callback_insert(), date_entry, ellipsis‿directive‿define_process(), ellipsis‿infra‿_Once‿init(), ellipsis‿infra‿_Once‿strong, ellipsis‿macros‿cb‿any(), ellipsis‿macros‿cb‿bind(), ellipsis‿macros‿cb‿clear(), ellipsis‿macros‿cb‿commas(), ellipsis‿macros‿cb‿counter(), ellipsis‿macros‿cb‿decrement(), ellipsis‿macros‿cb‿defined(), ellipsis‿macros‿cb‿empty(), ellipsis‿macros‿cb‿error(), ellipsis‿macros‿cb‿evaluate(), ellipsis‿macros‿cb‿evaluate_bin(), ellipsis‿macros‿cb‿evaluate_dec(), ellipsis‿macros‿cb‿evaluate_hex(), ellipsis‿macros‿cb‿evaluate_oct(), ellipsis‿macros‿cb‿file(), ellipsis‿macros‿cb‿fileno(), ellipsis‿macros‿cb‿freeze(), ellipsis‿macros‿cb‿has_embed(), ellipsis‿macros‿cb‿has_extension(), ellipsis‿macros‿cb‿has_feature(), ellipsis‿macros‿cb‿has_include(), ellipsis‿macros‿cb‿has_include_next(), ellipsis‿macros‿cb‿include_depth(), ellipsis‿macros‿cb‿increment(), ellipsis‿macros‿cb‿instant(), ellipsis‿macros‿cb‿is_identifier(), ellipsis‿macros‿cb‿limit_embed(), ellipsis‿macros‿cb‿limit_include(), ellipsis‿macros‿cb‿line(), ellipsis‿macros‿cb‿lineno(), ellipsis‿macros‿cb‿parenthesis_depth(), ellipsis‿macros‿cb‿set0(), ellipsis‿macros‿cb‿set1(), ellipsis‿macros‿cb‿set2(), ellipsis‿macros‿cb‿set3(), ellipsis‿macros‿cb‿set4(), ellipsis‿macros‿cb‿set5(), ellipsis‿macros‿cb‿set6(), ellipsis‿macros‿cb‿set7(), ellipsis‿macros‿cb‿set8(), ellipsis‿macros‿cb‿set9(), ellipsis‿macros‿cb‿tolower(), ellipsis‿macros‿cb‿toupper(), ellipsis‿macros‿cb‿warning(), ellipsis‿macros‿mangle(), ellipsis‿special‿directive_define‿find, ellipsis‿special‿directive_define‿magic‿_Once‿init(), ellipsis‿str32‿construct(), ellipsis‿string‿_Once‿init(), ellipsis‿string‿_Once‿strong, ellipsis‿token‿_Once‿init(), ellipsis‿token‿dictionary‿init(), ellipsis‿token‿dictionary‿insert(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿open(), ellipsis‿token‿what‿else, ellipsis‿tokenize‿string(), ellipsis_expand_prefix_max, end, expand_prefix_max_entry, frozen, functions, functions_insert(), GNU_ATTR_USED, integer_date_entry, iso_date_entry, macro, macro_signed(), macro_string(), macros, mtx, nominal, ellipsis‿token::payload, predefined, punctuator, and time_entry.

Referenced by ellipsis‿macros‿_Once‿init‿callback().

Here is the caller graph for this function:

◆ ellipsis‿macros‿_Once‿init()

◆ ellipsis‿macros‿activate()

◆ ellipsis‿macros‿cb‿addition()

◆ ellipsis‿macros‿cb‿any()

static ellipsis‿token * ellipsis‿macros‿cb‿any ( ellipsis‿token arg)
static

◆ ellipsis‿macros‿cb‿bind()

static ellipsis‿token * ellipsis‿macros‿cb‿bind ( ellipsis‿token arg)
static

◆ ellipsis‿macros‿cb‿clear()

static ellipsis‿token * ellipsis‿macros‿cb‿clear ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿commas()

static ellipsis‿token * ellipsis‿macros‿cb‿commas ( ellipsis‿token tk)
static

References ELLIPSIS_CONTRACT, and exp_signed.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿counter()

static ellipsis‿token * ellipsis‿macros‿cb‿counter ( ellipsis‿token )
static

References _Atomic().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿decrement()

static ellipsis‿token * ellipsis‿macros‿cb‿decrement ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿defined()

static ellipsis‿token * ellipsis‿macros‿cb‿defined ( ellipsis‿token tk)
static

start inner defer anchor at level 1

DEFER_TYPE needs a semicolon

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿token::cat, comment, ellipsis‿token::contents, ellipsis‿macros‿find(), ELLIPSIS_CONTRACT, exp_signed, ellipsis‿str32::length, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿empty()

static ellipsis‿token * ellipsis‿macros‿cb‿empty ( ellipsis‿token tk)
static

References exp_signed, and exp_unsigned.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿error()

static ellipsis‿token * ellipsis‿macros‿cb‿error ( ellipsis‿token tk)
static

References directive, ellipsis‿directive‿error(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), and ellipsis‿token::payload.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿evaluate()

static ellipsis‿token * ellipsis‿macros‿cb‿evaluate ( ellipsis‿token tk)
static

start inner defer anchor at level 1

DEFER_TYPE needs a semicolon

defer needs braces and a semicolon

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿expression‿evaluate(), ellipsis‿expression‿resolve_defined(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), ellipsis‿token‿list‿destroy(), and ELLIPSIS_CONTRACT.

Referenced by ellipsis‿macros‿_Once‿init‿user(), ellipsis‿macros‿cb‿addition(), ellipsis‿macros‿cb‿evaluate_bin(), ellipsis‿macros‿cb‿evaluate_dec(), ellipsis‿macros‿cb‿evaluate_hex(), and ellipsis‿macros‿cb‿evaluate_oct().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿evaluate_bin()

static ellipsis‿token * ellipsis‿macros‿cb‿evaluate_bin ( ellipsis‿token tk)
static

References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿macros‿cb‿evaluate(), ellipsis‿str32‿delete(), numeral, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿evaluate_dec()

static ellipsis‿token * ellipsis‿macros‿cb‿evaluate_dec ( ellipsis‿token tk)
static

References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿macros‿cb‿evaluate(), ellipsis‿str32‿delete(), exp_unsigned, numeral, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿evaluate_hex()

static ellipsis‿token * ellipsis‿macros‿cb‿evaluate_hex ( ellipsis‿token tk)
static

References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿macros‿cb‿evaluate(), ellipsis‿str32‿delete(), numeral, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿evaluate_oct()

static ellipsis‿token * ellipsis‿macros‿cb‿evaluate_oct ( ellipsis‿token tk)
static

References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿macros‿cb‿evaluate(), ellipsis‿str32‿delete(), numeral, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿file()

static ellipsis‿token * ellipsis‿macros‿cb‿file ( ellipsis‿token )
static

References ellipsis‿infra‿file(), and ellipsis‿infra‿filter_file.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿fileno()

static ellipsis‿token * ellipsis‿macros‿cb‿fileno ( ellipsis‿token )
static

References ellipsis‿infra‿filter_file.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿freeze()

static ellipsis‿token * ellipsis‿macros‿cb‿freeze ( ellipsis‿token first)
static

References ellipsis‿token::cat, first, frozen, keyword, ellipsis‿token::next, and nominal.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿has_embed()

static ellipsis‿token * ellipsis‿macros‿cb‿has_embed ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿has_file().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿has_extension()

static ellipsis‿token * ellipsis‿macros‿cb‿has_extension ( ellipsis‿token tk)
static

start inner defer anchor at level 1

DEFER_TYPE needs a semicolon

defer needs braces and a semicolon

start inner defer anchor at level 2

defer needs braces and a semicolon

end inner defer anchor, level 2

end inner defer anchor, level 1

References ellipsis‿token::cat, comment, ellipsis‿token::contents, ellipsis‿macros‿find(), ellipsis‿str32‿delete(), ELLIPSIS_CONTRACT, exp_signed, ellipsis‿str32::length, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿has_feature()

static ellipsis‿token * ellipsis‿macros‿cb‿has_feature ( ellipsis‿token tk)
static

start inner defer anchor at level 1

DEFER_TYPE needs a semicolon

defer needs braces and a semicolon

start inner defer anchor at level 2

defer needs braces and a semicolon

end inner defer anchor, level 2

end inner defer anchor, level 1

References ellipsis‿token::cat, comment, ellipsis‿token::contents, ellipsis‿macros‿find(), ellipsis‿str32‿delete(), ELLIPSIS_CONTRACT, exp_signed, ellipsis‿str32::length, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿has_file()

◆ ellipsis‿macros‿cb‿has_include()

static ellipsis‿token * ellipsis‿macros‿cb‿has_include ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿has_file().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿has_include_next()

static ellipsis‿token * ellipsis‿macros‿cb‿has_include_next ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿has_file().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿include_depth()

static ellipsis‿token * ellipsis‿macros‿cb‿include_depth ( ellipsis‿token )
static

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿increment()

static ellipsis‿token * ellipsis‿macros‿cb‿increment ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿instant()

static ellipsis‿token * ellipsis‿macros‿cb‿instant ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿is_identifier()

static ellipsis‿token * ellipsis‿macros‿cb‿is_identifier ( ellipsis‿token tk)
static

start inner defer anchor at level 1

DEFER_TYPE needs a semicolon

defer needs braces and a semicolon

start inner defer anchor at level 2

defer needs braces and a semicolon

end inner defer anchor, level 2

end inner defer anchor, level 1

References ellipsis‿token::cat, comment, ellipsis‿token::contents, ellipsis‿macros‿find(), ellipsis‿str32‿delete(), ELLIPSIS_CONTRACT, exp_signed, ellipsis‿str32::length, and ellipsis‿token::value.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿limit_embed()

static ellipsis‿token * ellipsis‿macros‿cb‿limit_embed ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿has_file().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿limit_include()

static ellipsis‿token * ellipsis‿macros‿cb‿limit_include ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿has_file().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿line()

static ellipsis‿token * ellipsis‿macros‿cb‿line ( ellipsis‿token )
static

References ellipsis‿infra‿filter_line.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿lineno()

static ellipsis‿token * ellipsis‿macros‿cb‿lineno ( ellipsis‿token )
static

References ellipsis‿infra‿filter_lineno.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿parenthesis_depth()

static ellipsis‿token * ellipsis‿macros‿cb‿parenthesis_depth ( ellipsis‿token )
static

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set0()

static ellipsis‿token * ellipsis‿macros‿cb‿set0 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set1()

static ellipsis‿token * ellipsis‿macros‿cb‿set1 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set2()

static ellipsis‿token * ellipsis‿macros‿cb‿set2 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set3()

static ellipsis‿token * ellipsis‿macros‿cb‿set3 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set4()

static ellipsis‿token * ellipsis‿macros‿cb‿set4 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set5()

static ellipsis‿token * ellipsis‿macros‿cb‿set5 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set6()

static ellipsis‿token * ellipsis‿macros‿cb‿set6 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set7()

static ellipsis‿token * ellipsis‿macros‿cb‿set7 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set8()

static ellipsis‿token * ellipsis‿macros‿cb‿set8 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿set9()

static ellipsis‿token * ellipsis‿macros‿cb‿set9 ( ellipsis‿token tk)
static

References ellipsis‿macros‿cb‿addition().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿tolower()

static ellipsis‿token * ellipsis‿macros‿cb‿tolower ( ellipsis‿token tk)
static

start inner defer anchor at level 1

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿token::contents, ellipsis‿case‿lower(), and ellipsis‿str32‿delete().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿toupper()

static ellipsis‿token * ellipsis‿macros‿cb‿toupper ( ellipsis‿token tk)
static

start inner defer anchor at level 1

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿token::contents, ellipsis‿case‿upper(), and ellipsis‿str32‿delete().

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿cb‿warning()

static ellipsis‿token * ellipsis‿macros‿cb‿warning ( ellipsis‿token tk)
static

References directive, ellipsis‿directive‿warning(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿close(), and ellipsis‿token::payload.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿deactivate()

◆ ellipsis‿macros‿find()

◆ ellipsis‿macros‿functions_find()

ellipsis‿token * ellipsis‿macros‿functions_find ( ellipsis‿str32 const *  n)

References __FILE__, ellipsis‿macros‿_Once‿init(), ellipsis‿macros‿_Once‿strong, ellipsis‿token‿dictionary‿find(), functions, and GNU_ATTR_USED.

Referenced by ellipsis‿expression‿resolve_defined().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿insert()

◆ ellipsis‿macros‿mangle()

ellipsis‿token *() ellipsis‿macros‿mangle ( ellipsis‿token tk)

References ellipsis‿token::cat, ellipsis‿token::contents, ellipsis‿str32‿fputs(), ELLIPSIS_WARNING, first, nominal, and numeral.

Referenced by ellipsis‿macros‿_Once‿init‿user(), and has_c_attribute_callback().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ellipsis‿macros‿paren‿dec()

void ellipsis‿macros‿paren‿dec ( void  )

References ELLIPSIS_WARNING.

Referenced by ellipsis‿filter().

Here is the caller graph for this function:

◆ ellipsis‿macros‿paren‿inc()

void ellipsis‿macros‿paren‿inc ( void  )

References ELLIPSIS_WARNING.

Referenced by ellipsis‿filter().

Here is the caller graph for this function:

◆ ellipsis‿macros‿paren‿set()

void ellipsis‿macros‿paren‿set ( size_t  val)

Referenced by ellipsis‿directive‿include_common().

Here is the caller graph for this function:

◆ ellipsis‿macros‿remove()

◆ ellipsis‿macros‿repair()

void ellipsis‿macros‿repair ( ellipsis‿str32  name[static 1])

◆ ellipsis‿macros‿unbind_get()

ellipsis‿token‿list * ellipsis‿macros‿unbind_get ( void  )

◆ ellipsis‿macros‿unbind_set()

ellipsis‿token‿list * ellipsis‿macros‿unbind_set ( ellipsis‿token‿list t)

start inner defer anchor at level 1

DEFER_TYPE needs a semicolon

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿macros‿unbind.

Referenced by ellipsis‿filter().

Here is the caller graph for this function:

◆ ellipsis‿macros‿unfreeze()

void ellipsis‿macros‿unfreeze ( void  )

References undefinable.

Referenced by main().

Here is the caller graph for this function:

◆ functions_insert()

void functions_insert ( char const *  name,
ellipsis‿token *(*)(ellipsis‿token *)  cb 
)

References ellipsis‿token‿dictionary‿insert(), ellipsis‿token‿what‿callback, functions, and macro.

Referenced by ellipsis‿language‿c‿_Once‿init‿user(), and ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ macro_signed()

static void macro_signed ( char const *  name,
vtype  val 
)
static

start inner defer anchor at level 1

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿str32‿delete(), ellipsis‿token‿dictionary‿find(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿first(), exp_signed, first, macros, and ellipsis‿token::payload.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ macro_string()

static void macro_string ( char const *  name,
char const *  str 
)
static

start inner defer anchor at level 1

defer needs braces and a semicolon

end inner defer anchor, level 1

References ellipsis‿str32‿delete(), ellipsis‿token‿dictionary‿find(), ellipsis‿token‿list‿append(), ellipsis‿token‿list‿first(), first, macros, ellipsis‿token::payload, and string.

Referenced by ellipsis‿macros‿_Once‿init‿user().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ date_entry

char date_entry[32]
static

◆ ellipsis‿contracts‿ignore‿dynamic

thread_local bool volatile ellipsis‿contracts‿ignore‿dynamic
extern

◆ ellipsis‿contracts‿proceed‿dynamic

thread_local bool volatile ellipsis‿contracts‿proceed‿dynamic
extern

◆ ellipsis‿contracts‿verbose‿dynamic

thread_local bool volatile ellipsis‿contracts‿verbose‿dynamic
extern

◆ ellipsis‿macros‿_Once‿atexit‿pointer

static void(*) const ellipsis‿macros‿_Once‿atexit‿pointer(void) ( void  ) = ellipsis‿macros‿_Once‿atexit‿callback
static

◆ ellipsis‿macros‿_Once‿strong

◆ ellipsis‿macros‿unbind

thread_local ellipsis‿token‿list* ellipsis‿macros‿unbind = nullptr
static

◆ expand_prefix_max_entry

char expand_prefix_max_entry[sizeof("__EXPAND_PREFIX_MAX__")+32]
static

◆ functions

◆ integer_date_entry

char integer_date_entry[32]
static

◆ iso_date_entry

char iso_date_entry[32]
static

◆ macros

◆ mtx

◆ predefined

char* predefined[]
static
Initial value:
= {
}
static char expand_prefix_max_entry[sizeof("__EXPAND_PREFIX_MAX__")+32]
Definition ellipsis-macros.c:97

Referenced by ellipsis‿macros‿_Once‿init‿user().

◆ time_entry

char time_entry[32]
static

◆ undefinable