[U-Boot] [PATCH] ARM: socfpga: fix duplicate const specifier warning
Marek Vasut
marex at denx.de
Tue Sep 12 14:10:47 UTC 2017
On 09/12/2017 03:19 PM, Masahiro Yamada wrote:
> Hi Marek,
>
>
> 2017-09-12 19:23 GMT+09:00 Marek Vasut <marex at denx.de>:
>> On 09/12/2017 10:23 AM, Masahiro Yamada wrote:
>>> GCC 7.1 warns:
>>> duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
>>>
>>> Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
>>> ---
>>>
>>> arch/arm/mach-socfpga/misc_gen5.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/mach-socfpga/misc_gen5.c b/arch/arm/mach-socfpga/misc_gen5.c
>>> index 2f1da74..91ddb79 100644
>>> --- a/arch/arm/mach-socfpga/misc_gen5.c
>>> +++ b/arch/arm/mach-socfpga/misc_gen5.c
>>> @@ -144,7 +144,7 @@ static const struct {
>> ^ Shouldn't you fix it here instead ?
>>
>>> const u16 pn;
>>> const char *name;
>>> const char *var;
>>> -} const socfpga_fpga_model[] = {
>>> +} socfpga_fpga_model[] = {
>>> /* Cyclone V E */
>>> { 0x2b15, "Cyclone V, E/A2", "cv_e_a2" },
>>> { 0x2b05, "Cyclone V, E/A4", "cv_e_a4" },
>>>
>>
>
>
>
> "const" and the variable type is interchangeable,
> so this comes down to a personal preference after all,
> but think about simpler cases.
>
>
> [1]
> const int x = 1;
> const struct pinctrl_ops *ops;
>
>
> [2]
> int const x = 1;
> struct pinctrl_ops const *ops;
>
>
>
> Both [1] and [2] are correct and equivalent,
> but my preference is [1] (and I hope you too).
>
>
> In my experience in Linux / U-Boot,
> source code mostly looks like [1]
> (of course, [2] is mixed here and there)
>
>
> I prefer style [1] ("const" before variable type),
> so I removed the second "const" in this patch.
>
>
>
> Ideally, the following might be more readable:
>
>
> struct fpga_model {
> const u16 pn;
> const char *name;
> const char *var;
> };
>
> static const struct fpga_model socfpga_fpga_model[] = {
> ...
> };
>
>
>
> But, I will not do
>
> static struct fpga_model const socfpga_fpga_model[] = {
> ...
> };
Doesn't the position of const in the example above indicate whether it's
a const applied to the whole array or const applied to it's elements ?
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list