On 22.10.19 г. 9:59 ч., Nikolay Borisov wrote:
>
>
> On 22.10.19 г. 5:02 ч., Marcos Paulo de Souza wrote:
>> From: Marcos Paulo de Souza <mpdeso...@suse.com>
>>
>> When compiling with clang, this warning is shown:
>>
>> common/utils.c:404:3: warning: declaration does not declare anything
>> [-Wmissing-declarations]
>> __attribute__ ((fallthrough));
>>
>> This attribute seems to silence the same warning in GCC. Changing this
>> attribute with /* fallthrough */ fixes the warning for both gcc and
>> clang.
>>
>> Signed-off-by: Marcos Paulo de Souza <mpdeso...@suse.com>
>
> Which clang version are you using? According to
> https://clang.llvm.org/docs/AttributeReference.html#fallthrough this
> attribute is supported even with the GNU syntax.
Looking at the documentation the gnu syntax is supported in the
'current' / 10, unreleased version. All others, up to version 9 does not
support this syntax.
>
>> ---
>> common/utils.c | 12 ++++++------
>> 1 file changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/common/utils.c b/common/utils.c
>> index 2cf15c33..a88336b3 100644
>> --- a/common/utils.c
>> +++ b/common/utils.c
>> @@ -401,15 +401,15 @@ int pretty_size_snprintf(u64 size, char *str, size_t
>> str_size, unsigned unit_mod
>> case UNITS_TBYTES:
>> base *= mult;
>> num_divs++;
>> - __attribute__ ((fallthrough));
>> + /* fallthrough */
>> case UNITS_GBYTES:
>> base *= mult;
>> num_divs++;
>> - __attribute__ ((fallthrough));
>> + /* fallthrough */
>> case UNITS_MBYTES:
>> base *= mult;
>> num_divs++;
>> - __attribute__ ((fallthrough));
>> + /* fallthrough */
>> case UNITS_KBYTES:
>> num_divs++;
>> break;
>> @@ -1135,14 +1135,14 @@ int test_num_disk_vs_raid(u64 metadata_profile, u64
>> data_profile,
>> default:
>> case 4:
>> allowed |= BTRFS_BLOCK_GROUP_RAID10;
>> - __attribute__ ((fallthrough));
>> + /* fallthrough */
>> case 3:
>> allowed |= BTRFS_BLOCK_GROUP_RAID6;
>> - __attribute__ ((fallthrough));
>> + /* fallthrough */
>> case 2:
>> allowed |= BTRFS_BLOCK_GROUP_RAID0 | BTRFS_BLOCK_GROUP_RAID1 |
>> BTRFS_BLOCK_GROUP_RAID5;
>> - __attribute__ ((fallthrough));
>> + /* fallthrough */
>> case 1:
>> allowed |= BTRFS_BLOCK_GROUP_DUP;
>> }
>>