mirror of
https://github.com/frida/tinycc
synced 2024-11-24 08:39:37 +03:00
__typeof(t) should not include storage modifiers of t
This commit is contained in:
parent
5d55647a3c
commit
38cbb40e90
2
tccgen.c
2
tccgen.c
@ -2948,6 +2948,8 @@ static int parse_btype(CType *type, AttributeDef *ad)
|
||||
case TOK_TYPEOF3:
|
||||
next();
|
||||
parse_expr_type(&type1);
|
||||
/* remove all storage modifiers except typedef */
|
||||
type1.t &= ~(VT_STORAGE&~VT_TYPEDEF);
|
||||
goto basic_type2;
|
||||
default:
|
||||
if (typespec_found || typedef_found)
|
||||
|
@ -2365,6 +2365,11 @@ extern int weak_asm_v1 asm("weak_asm_v1x") __attribute
|
||||
extern int __attribute((weak)) weak_asm_v2 asm("weak_asm_v2x") ;
|
||||
extern int __attribute((weak)) weak_asm_v3(void) asm("weak_asm_v3x") __attribute((weak));
|
||||
|
||||
static const size_t dummy = 0;
|
||||
extern __typeof(dummy) weak_dummy1 __attribute__((weak, alias("dummy")));
|
||||
extern __typeof(dummy) __attribute__((weak, alias("dummy"))) weak_dummy2;
|
||||
extern __attribute__((weak, alias("dummy"))) __typeof(dummy) weak_dummy3;
|
||||
|
||||
void __attribute__((weak)) weak_test(void)
|
||||
{
|
||||
printf("weak_f1=%d\n", weak_f1 ? weak_f1() : 123);
|
||||
|
Loading…
Reference in New Issue
Block a user