mirror of
https://github.com/mirror/tinycc.git
synced 2025-01-13 05:10:07 +08:00
Allow const expr in builtin_frame_address/builtin_return_address
This commit is contained in:
parent
560526a49d
commit
79d439ee4f
7
tccgen.c
7
tccgen.c
@ -5601,17 +5601,16 @@ ST_FUNC void unary(void)
|
||||
case TOK_builtin_return_address:
|
||||
{
|
||||
int tok1 = tok;
|
||||
int level;
|
||||
int64_t level;
|
||||
next();
|
||||
skip('(');
|
||||
if (tok != TOK_CINT) {
|
||||
level = expr_const64();
|
||||
if (level < 0) {
|
||||
tcc_error("%s only takes positive integers",
|
||||
tok1 == TOK_builtin_return_address ?
|
||||
"__builtin_return_address" :
|
||||
"__builtin_frame_address");
|
||||
}
|
||||
level = (uint32_t)tokc.i;
|
||||
next();
|
||||
skip(')');
|
||||
type.t = VT_VOID;
|
||||
mk_pointer(&type);
|
||||
|
@ -25,12 +25,6 @@ int compile_errors(void)
|
||||
l1: return 1;
|
||||
l2: return 2;
|
||||
}
|
||||
#endif
|
||||
#if TEST == 4
|
||||
{
|
||||
/* Only integer allowed */
|
||||
__builtin_return_address(0 + 1) != NULL;
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user