Add a specific type for a pointer that shouldn't be dereferenced. This is used by the printf format parser for the %p case. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> --- symbol.c | 4 +++- symbol.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/symbol.c b/symbol.c index 26906ec..b1e7db1 100644 --- a/symbol.c +++ b/symbol.c @@ -674,7 +674,8 @@ struct symbol bool_ctype, void_ctype, type_ctype, llong_ctype, sllong_ctype, ullong_ctype, lllong_ctype, slllong_ctype, ulllong_ctype, float_ctype, double_ctype, ldouble_ctype, - string_ctype, ptr_ctype, lazy_ptr_ctype, + string_ctype, + ptr_ctype, ptr_ctype_noderef, lazy_ptr_ctype, incomplete_ctype, label_ctype, bad_ctype, null_ctype; @@ -740,6 +741,7 @@ static const struct ctype_declare { { &string_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &char_ctype }, { &ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype }, + { &ptr_ctype_noderef, SYM_PTR, MOD_NODEREF, &bits_in_pointer, &pointer_alignment, &void_ctype }, { &null_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype }, { &label_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype }, { &lazy_ptr_ctype, SYM_PTR, 0, &bits_in_pointer, &pointer_alignment, &void_ctype }, diff --git a/symbol.h b/symbol.h index 3274496..1f338f5 100644 --- a/symbol.h +++ b/symbol.h @@ -266,7 +266,7 @@ extern struct symbol bool_ctype, void_ctype, type_ctype, llong_ctype, sllong_ctype, ullong_ctype, lllong_ctype, slllong_ctype, ulllong_ctype, float_ctype, double_ctype, ldouble_ctype, - string_ctype, ptr_ctype, lazy_ptr_ctype, + string_ctype, ptr_ctype, ptr_ctype_noderef, lazy_ptr_ctype, incomplete_ctype, label_ctype, bad_ctype, null_ctype; -- 2.19.1