Detected when using -Wunsupported
Unified · Split
| @@ -4013,11 +4013,27 @@ redo: · 4012 unmodified lines | ||
| 4013 | 4013 | case TOK_NODEBUG2: |
| 4014 | 4014 | ad->a.nodebug = 1; |
| 4015 | 4015 | break; |
| 4016 | + case TOK_USED1: | |
| 4017 | + case TOK_USED2: | |
| 4016 | 4018 | case TOK_UNUSED1: |
| 4017 | 4019 | case TOK_UNUSED2: |
| 4018 | 4020 | /* currently, no need to handle it because tcc does not |
| 4019 | − track unused objects */ | |
| 4021 | + track used/unused objects */ | |
| 4020 | 4022 | break; |
| 4023 | + case TOK_CONST1: | |
| 4024 | + case TOK_CONST2: | |
| 4025 | + case TOK_CONST3: | |
| 4026 | + case TOK_PURE1: | |
| 4027 | + case TOK_PURE2: | |
| 4028 | + /* ignored */ | |
| 4029 | + break; | |
| 4030 | + case TOK_NOINLINE: | |
| 4031 | + /* ignored */ | |
| 4032 | + break; | |
| 4033 | + case TOK_FORMAT1: | |
| 4034 | + case TOK_FORMAT2: | |
| 4035 | + /* ignored */ | |
| 4036 | + goto skip_param; | |
| 4021 | 4037 | case TOK_NORETURN1: |
| 4022 | 4038 | case TOK_NORETURN2: |
| 4023 | 4039 | ad->f.func_noreturn = 1; |
| @@ -4091,6 +4107,7 @@ redo: · 67 unmodified lines | ||
| 4091 | 4107 | default: |
| 4092 | 4108 | tcc_warning_c(warn_unsupported)("'%s' attribute ignored", get_tok_str(t, NULL)); |
| 4093 | 4109 | /* skip parameters */ |
| 4110 | +skip_param: | |
| 4094 | 4111 | if (tok == '(') { |
| 4095 | 4112 | int parenthesis = 0; |
| 4096 | 4113 | do { |
| @@ -23,6 +23,8 @@ · 22 unmodified lines | ||
| 23 | 23 | DEF(TOK_CONST1, "const") |
| 24 | 24 | DEF(TOK_CONST2, "__const") /* gcc keyword */ |
| 25 | 25 | DEF(TOK_CONST3, "__const__") /* gcc keyword */ |
| 26 | + DEF(TOK_PURE1, "pure") | |
| 27 | + DEF(TOK_PURE2, "__pure__") | |
| 26 | 28 | DEF(TOK_VOLATILE1, "volatile") |
| 27 | 29 | DEF(TOK_VOLATILE2, "__volatile") /* gcc keyword */ |
| 28 | 30 | DEF(TOK_VOLATILE3, "__volatile__") /* gcc keyword */ |
| @@ -114,8 +116,12 @@ · 85 unmodified lines | ||
| 114 | 116 | DEF(TOK_WEAK2, "__weak__") |
| 115 | 117 | DEF(TOK_ALIAS1, "alias") |
| 116 | 118 | DEF(TOK_ALIAS2, "__alias__") |
| 119 | + DEF(TOK_USED1, "used") | |
| 120 | + DEF(TOK_USED2, "__used__") | |
| 117 | 121 | DEF(TOK_UNUSED1, "unused") |
| 118 | 122 | DEF(TOK_UNUSED2, "__unused__") |
| 123 | + DEF(TOK_FORMAT1, "format") | |
| 124 | + DEF(TOK_FORMAT2, "__format__") | |
| 119 | 125 | DEF(TOK_NODEBUG1, "nodebug") |
| 120 | 126 | DEF(TOK_NODEBUG2, "__nodebug__") |
| 121 | 127 | DEF(TOK_CDECL1, "cdecl") |
| @@ -140,6 +146,7 @@ · 18 unmodified lines | ||
| 140 | 146 | DEF(TOK_DESTRUCTOR2, "__destructor__") |
| 141 | 147 | DEF(TOK_ALWAYS_INLINE1, "always_inline") |
| 142 | 148 | DEF(TOK_ALWAYS_INLINE2, "__always_inline__") |
| 149 | + DEF(TOK_NOINLINE, "__noinline__") | |
| 143 | 150 | |
| 144 | 151 | DEF(TOK_MODE, "__mode__") |
| 145 | 152 | DEF(TOK_MODE_QI, "__QI__") |