Re: [PATCH 1/2] btrfs-progs: utils: Replace __attribute__(fallthrough)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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 <mpdesouza@xxxxxxxx>
>>
>> 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 <mpdesouza@xxxxxxxx>
> 
> 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;
>>  	}
>>



[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux