coan 4.2.4
|
![]() |
#define hash_include_assign symbol_assign |
Assign one hash_include object to another. The function is the same as for symbol_h
Definition at line 84 of file hash_include.h.
#define hash_include_copy symbol_copy |
Construct a copy of an hash_include object The function is the same as for symbol_h
Definition at line 74 of file hash_include.h.
#define hash_include_definition symbol_definition |
Get the definition of an hash_include. The function is the same as for symbol_h
Definition at line 89 of file hash_include.h.
Referenced by hash_include_tally(), and report_include().
#define hash_include_dispose symbol_dispose |
Destroy an hash_include object. The destructor is the same as for symbol_h
Definition at line 69 of file hash_include.h.
#define hash_include_forget symbol_forget |
Forget that a hash-include argument has been seen. The function is the same as for symbol_h.
Definition at line 115 of file hash_include.h.
#define hash_include_memorise symbol_memorise |
Mark a hash-include argument as seen. The function is the same as for symbol_h.
Definition at line 110 of file hash_include.h.
#define hash_include_seen symbol_seen |
Say whether a hash-include argument has been seen before The function is the same as for symbol_h.
Definition at line 105 of file hash_include.h.
#define hash_include_str | ( | inc_arg | ) | symbol_name(inc_arg) |
Get the argument string from a hash-include argument.
inc_arg | The hash-include argument to be queried. |
Definition at line 100 of file hash_include.h.
Referenced by report_include().
#define hash_include_swap symbol_swap |
Exchange two hash_include objects The function is the same as for symbol_h
Definition at line 79 of file hash_include.h.
#define hash_include_undefine symbol_undefine |
Undefine an hash_include. The function is the same as for symbol_h
Definition at line 94 of file hash_include.h.
Referenced by hash_include_tally().
typedef symbol_const_h hash_include_const_h |
Abstract type of const argument to hash-include directive
Definition at line 57 of file hash_include.h.
typedef symbol_h hash_include_h |
Abstract type of argument to a hash-include directive.
Because the argument of an hash-include may be a defined preprocessor symbol we just make this type an alias for symbol_h
Definition at line 54 of file hash_include.h.
bool hash_include_changed | ( | hash_include_const_h | inc_arg | ) |
Say whether an hash-include argument has evaluated differently from its last evaluation.
inc_arg | The hash-include argument to evaluate. |
void hash_include_commit_evaluation | ( | hash_include_h | inc_arg | ) |
Accept the most recent evaluation of an hash-include argument as the baseline evaluation.
inc_arg | The hash-include argument to be updated. |
The function clears the flag evaluated by hash_include_changed(), so that the last evaluation becomes the basis of comparision for subsequent ones.
int hash_include_compare | ( | hash_include_const_h | lhs, |
void const * | rhs, | ||
size_t | namelen | ||
) |
Compare an hash_include_h with another one or with a hash-include argument.
lhs | First hash_include_h to be compared. |
rhs | Second hash_include_h or hash-include argument to compare. |
namelen | If 0 then rhs addresses a second hash_include_h to be compared by name with lhs. Otherwise rhs addresses a hash-include argument of length namelen to be compared with the name of lhs. |
Definition at line 57 of file hash_include.c.
void hash_include_define | ( | hash_include_h | hi, |
canonical_string_const_h | def | ||
) |
Assign a definition to a hash_include.
hi | The hash-include to which the definition shall be assigned. |
def | A canonical string containing the definition to assign. |
Definition at line 76 of file hash_include.c.
References canonical_string_assign(), canonical_string_copy(), and eval_result::sym_def.
Referenced by hash_include_tally().
hash_include_h hash_include_new | ( | char const * | arg, |
size_t | arglen | ||
) |
Construct a new hash-include argument object.
arg | The start of the hash-include argument |
arglen | The length of arg. |
Definition at line 47 of file hash_include.c.
References symbol_new().
Referenced by hash_include_tally().
char const* hash_include_parse | ( | char const * | cp, |
char const ** | pdiagnostic, | ||
canonical_string_h * | presolved_val | ||
) |
Parse the argument of a hash-include directive.
cp | The start of the hash-include argument. |
pdiagnostic | Pointer at which will be stored on return either NULL or the address of a diagnostic. If NULL is stored then the argument of the hash-include directive is valid; otherwise the stored diagnostic says why it is problematic. |
presolved_val | On entry, a pointer to NULL. Onn return either NULL or a canonical string will be stored here. NULL is stored if the argument of the directive is not a symbol, or is a -U configured symbol or an unknown symbol. If a canonical string is stored then the argument is a -D-configured symbol and the stored canonical string holds the definition of that symbol, which may be an empty string. |
It is the caller's responsibility to destroy any canonical strings stored at presolved_val
.
bool hash_include_valid | ( | hash_include_const_h | inc_arg | ) |
Say whether an hash-include argument is valid.
inc_arg | The hash-include argument to be queried. |
inc_arg is valid if it represents either a valid header name or a preprocessor symbol that finally evaluates to a valid header name.