Message ID | 1505204619-22374-1-git-send-email-yamada.masahiro@socionext.com |
---|---|
State | Accepted |
Commit | 5e8c39d4f4afac8ae026fee19c2ff381cd5b7cc4 |
Headers | show |
Series | ARM: socfpga: fix duplicate const specifier warning | expand |
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@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" }, >
Hi Marek, 2017-09-12 19:23 GMT+09:00 Marek Vasut <marex@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@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[] = { ... };
On 09/12/2017 03:19 PM, Masahiro Yamada wrote: > Hi Marek, > > > 2017-09-12 19:23 GMT+09:00 Marek Vasut <marex@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@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 ?
2017-09-12 23:10 GMT+09:00 Marek Vasut <marex@denx.de>: > On 09/12/2017 03:19 PM, Masahiro Yamada wrote: >> Hi Marek, >> >> >> 2017-09-12 19:23 GMT+09:00 Marek Vasut <marex@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@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 ? > Sorry, I could not get what you mean. Could you explain it in detail, please?
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@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 { > 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" }, > Applied, thanks!
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 { 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" },
GCC 7.1 warns: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier] Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- arch/arm/mach-socfpga/misc_gen5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)