mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 13:13:08 +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;
|
continue;
|
||||||
}
|
}
|
||||||
node = TREE_TYPE (node);
|
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;
|
etab->type = node;
|
||||||
@ -4357,9 +4362,17 @@ handle_pragma_printfrr_ext (cpp_reader *dummy)
|
|||||||
ttype = pragma_lex (&token, &loc);
|
ttype = pragma_lex (&token, &loc);
|
||||||
|
|
||||||
/* qualifiers */
|
/* 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);
|
ttype = pragma_lex (&token, &loc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,6 +113,8 @@ struct kernel_ext_fmt
|
|||||||
tree_code type_code;
|
tree_code type_code;
|
||||||
int ptrlevel;
|
int ptrlevel;
|
||||||
bool t_const;
|
bool t_const;
|
||||||
|
bool t_unsigned;
|
||||||
|
bool t_signed;
|
||||||
bool warned;
|
bool warned;
|
||||||
|
|
||||||
const char *type_str;
|
const char *type_str;
|
||||||
|
Loading…
Reference in New Issue
Block a user