mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 15:16:20 +00:00
tools/gcc-plugin: support [un]signed in pragma
Need `unsigned char *` for `%pHX`. Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
parent
23922bbc08
commit
bcf9d7d8aa
@ -4241,6 +4241,11 @@ handle_finish_parse (void *event_data, void *data)
|
||||
continue;
|
||||
}
|
||||
node = TREE_TYPE (node);
|
||||
|
||||
if (etab->t_unsigned)
|
||||
node = c_common_unsigned_type (node);
|
||||
else if (etab->t_signed)
|
||||
node = c_common_signed_type (node);
|
||||
}
|
||||
|
||||
etab->type = node;
|
||||
@ -4357,9 +4362,17 @@ handle_pragma_printfrr_ext (cpp_reader *dummy)
|
||||
ttype = pragma_lex (&token, &loc);
|
||||
|
||||
/* qualifiers */
|
||||
if (ttype == CPP_NAME && !strcmp (IDENTIFIER_POINTER (token), "const"))
|
||||
while (ttype == CPP_NAME)
|
||||
{
|
||||
etab->t_const = true;
|
||||
if (!strcmp (IDENTIFIER_POINTER (token), "const"))
|
||||
etab->t_const = true;
|
||||
else if (!strcmp (IDENTIFIER_POINTER (token), "signed"))
|
||||
etab->t_signed = true;
|
||||
else if (!strcmp (IDENTIFIER_POINTER (token), "unsigned"))
|
||||
etab->t_unsigned = true;
|
||||
else
|
||||
break;
|
||||
|
||||
ttype = pragma_lex (&token, &loc);
|
||||
}
|
||||
|
||||
|
@ -113,6 +113,8 @@ struct kernel_ext_fmt
|
||||
tree_code type_code;
|
||||
int ptrlevel;
|
||||
bool t_const;
|
||||
bool t_unsigned;
|
||||
bool t_signed;
|
||||
bool warned;
|
||||
|
||||
const char *type_str;
|
||||
|
Loading…
Reference in New Issue
Block a user