* [U-Boot] GCC 7.x vs. C++ comments @ 2018-05-09 8:46 Dr. Philipp Tomsich 2018-05-09 11:16 ` Tom Rini 0 siblings, 1 reply; 13+ messages in thread From: Dr. Philipp Tomsich @ 2018-05-09 8:46 UTC (permalink / raw) To: u-boot Tom, I recently ran a local buildman with a came across these: > cc -Wp,-MD,tools/.gen_eth_addr.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include ./include/compiler.h -idirafterinclude -idirafter./arch/arm/include -I./scripts/dtc/libfdt -I./tools -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE -pedantic -o tools/gen_eth_addr tools/gen_eth_addr.c > tools/gen_eth_addr.c:1:1: warning: C++ style comments are not allowed in ISO C90 > // SPDX-License-Identifier: GPL-2.0+ > ^ > tools/gen_eth_addr.c:1:1: warning: (this will be reported only once per input file) > cc -Wp,-MD,tools/.gen_ethaddr_crc.o.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include ./include/compiler.h -idirafterinclude -idirafter./arch/arm/include -I./scripts/dtc/libfdt -I./tools -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE -pedantic -c -o tools/gen_ethaddr_crc.o tools/gen_ethaddr_crc.c > tools/gen_ethaddr_crc.c:1:1: warning: C++ style comments are not allowed in ISO C90 > // SPDX-License-Identifier: GPL-2.0+ > ^ > tools/gen_ethaddr_crc.c:1:1: warning: (this will be reported only once per input file) > echo "#include <../lib/crc8.c>" >tools/lib/crc8.c > cc -Wp,-MD,tools/lib/.crc8.o.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include ./include/compiler.h -idirafterinclude -idirafter./arch/arm/include -I./scripts/dtc/libfdt -I./tools -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE -pedantic -c -o tools/lib/crc8.o tools/lib/crc8.c > In file included from tools/lib/crc8.c:1:0: > ./tools/../lib/crc8.c:1:1: warning: C++ style comments are not allowed in ISO C90 > // SPDX-License-Identifier: GPL-2.0+ > ^ The system compiler was a > Using built-in specs. > COLLECT_GCC=cc > COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper > Target: x86_64-linux-gnu > Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10+deb8u1' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu > Thread model: posix > gcc version 4.9.2 (Debian 4.9.2-10+deb8u1) What’s your preferred solution: (a) change these comments (b) change our Makefiles to let GCC know that we are compiling gnu99/C99? Neither solution is too appealing to me, so I am asking... Thanks, Philipp. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 8:46 [U-Boot] GCC 7.x vs. C++ comments Dr. Philipp Tomsich @ 2018-05-09 11:16 ` Tom Rini 2018-05-09 11:38 ` Wolfgang Denk 0 siblings, 1 reply; 13+ messages in thread From: Tom Rini @ 2018-05-09 11:16 UTC (permalink / raw) To: u-boot On Wed, May 09, 2018 at 10:46:10AM +0200, Dr. Philipp Tomsich wrote: > Tom, > > I recently ran a local buildman with a came across these: > > cc -Wp,-MD,tools/.gen_eth_addr.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include ./include/compiler.h -idirafterinclude -idirafter./arch/arm/include -I./scripts/dtc/libfdt -I./tools -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE -pedantic -o tools/gen_eth_addr tools/gen_eth_addr.c > > tools/gen_eth_addr.c:1:1: warning: C++ style comments are not allowed in ISO C90 > > // SPDX-License-Identifier: GPL-2.0+ > > ^ > > tools/gen_eth_addr.c:1:1: warning: (this will be reported only once per input file) > > cc -Wp,-MD,tools/.gen_ethaddr_crc.o.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include ./include/compiler.h -idirafterinclude -idirafter./arch/arm/include -I./scripts/dtc/libfdt -I./tools -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE -pedantic -c -o tools/gen_ethaddr_crc.o tools/gen_ethaddr_crc.c > > tools/gen_ethaddr_crc.c:1:1: warning: C++ style comments are not allowed in ISO C90 > > // SPDX-License-Identifier: GPL-2.0+ > > ^ > > tools/gen_ethaddr_crc.c:1:1: warning: (this will be reported only once per input file) > > echo "#include <../lib/crc8.c>" >tools/lib/crc8.c > > cc -Wp,-MD,tools/lib/.crc8.o.d -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -include ./include/compiler.h -idirafterinclude -idirafter./arch/arm/include -I./scripts/dtc/libfdt -I./tools -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE -pedantic -c -o tools/lib/crc8.o tools/lib/crc8.c > > In file included from tools/lib/crc8.c:1:0: > > ./tools/../lib/crc8.c:1:1: warning: C++ style comments are not allowed in ISO C90 > > // SPDX-License-Identifier: GPL-2.0+ > > ^ > > The system compiler was a > > Using built-in specs. > > COLLECT_GCC=cc > > COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.9/lto-wrapper > > Target: x86_64-linux-gnu > > Configured with: ../src/configure -v --with-pkgversion='Debian 4.9.2-10+deb8u1' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --with-arch-32=i586 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu > > Thread model: posix > > gcc version 4.9.2 (Debian 4.9.2-10+deb8u1) > > > What’s your preferred solution: > (a) change these comments > (b) change our Makefiles to let GCC know that we are compiling gnu99/C99? > > Neither solution is too appealing to me, so I am asking... Lets go with (b) which I guess what a more modern toolchain defaults to anyhow. Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180509/9ced0f1c/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 11:16 ` Tom Rini @ 2018-05-09 11:38 ` Wolfgang Denk 2018-05-09 11:48 ` Tom Rini 0 siblings, 1 reply; 13+ messages in thread From: Wolfgang Denk @ 2018-05-09 11:38 UTC (permalink / raw) To: u-boot Dear Tom, In message <20180509111627.GD12235@bill-the-cat.ec.rr.com> you wrote: > > > What’s your preferred solution: > > (a) change these comments > > (b) change our Makefiles to let GCC know that we are compiling gnu99/C99? > > > > Neither solution is too appealing to me, so I am asking... > > Lets go with (b) which I guess what a more modern toolchain defaults to > anyhow. Thanks! I disagree. UI-Boot always discouraged the use of C++ comments, see for example bullet # 5 at [1]. We should clearly fix the comments, please. [1] http://www.denx.de/wiki/U-Boot/Coding Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "It takes all sorts of in & out-door schooling to get adapted to my kind of fooling" - R. Frost ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 11:38 ` Wolfgang Denk @ 2018-05-09 11:48 ` Tom Rini 2018-05-09 12:46 ` Wolfgang Denk 0 siblings, 1 reply; 13+ messages in thread From: Tom Rini @ 2018-05-09 11:48 UTC (permalink / raw) To: u-boot On Wed, May 09, 2018 at 01:38:37PM +0200, Wolfgang Denk wrote: > Dear Tom, > > In message <20180509111627.GD12235@bill-the-cat.ec.rr.com> you wrote: > > > > > What’s your preferred solution: > > > (a) change these comments > > > (b) change our Makefiles to let GCC know that we are compiling gnu99/C99? > > > > > > Neither solution is too appealing to me, so I am asking... > > > > Lets go with (b) which I guess what a more modern toolchain defaults to > > anyhow. Thanks! > > I disagree. UI-Boot always discouraged the use of C++ comments, see > for example bullet # 5 at [1]. We should clearly fix the comments, > please. > > [1] http://www.denx.de/wiki/U-Boot/Coding We should go and update [1] to note some special exemptions to the rule. I see you missed out on the SPDX thread over here: https://lists.denx.de/pipermail/u-boot/2018-May/327544.html and repeat myself, I see it as more worthwhile to (a) follow the kernel in this area (for both tooling and consistency and ease of development for our overlapping community) (b) save space (in just about every conversion we went from 2 lines to 1 line). Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180509/9ff5f0cf/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 11:48 ` Tom Rini @ 2018-05-09 12:46 ` Wolfgang Denk 2018-05-09 13:49 ` Tom Rini 0 siblings, 1 reply; 13+ messages in thread From: Wolfgang Denk @ 2018-05-09 12:46 UTC (permalink / raw) To: u-boot Dear Tom, In message <20180509114828.GG12235@bill-the-cat.ec.rr.com> you wrote: > > We should go and update [1] to note some special exemptions to the rule. I'm not happy about this. > I see you missed out on the SPDX thread over here: > https://lists.denx.de/pipermail/u-boot/2018-May/327544.html and repeat Marek already said what was on my mind, and got ignored. Would it have changed anything if I had posted another complaint? I'm doing now, and apparently I get ignored, too. So what exactly is your argument? > myself, I see it as more worthwhile to (a) follow the kernel in this > area (for both tooling and consistency and ease of development for our > overlapping community) (b) save space (in just about every conversion we > went from 2 lines to 1 line). Thanks! OK, so you decided, and any additional discussion is futile... Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de It is practically impossible to teach good programming style to stu- dents that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. - Dijkstra ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 12:46 ` Wolfgang Denk @ 2018-05-09 13:49 ` Tom Rini 2018-05-09 14:11 ` Dr. Philipp Tomsich ` (2 more replies) 0 siblings, 3 replies; 13+ messages in thread From: Tom Rini @ 2018-05-09 13:49 UTC (permalink / raw) To: u-boot On Wed, May 09, 2018 at 02:46:54PM +0200, Wolfgang Denk wrote: > Dear Tom, > > In message <20180509114828.GG12235@bill-the-cat.ec.rr.com> you wrote: > > > > We should go and update [1] to note some special exemptions to the rule. > > I'm not happy about this. > > > I see you missed out on the SPDX thread over here: > > https://lists.denx.de/pipermail/u-boot/2018-May/327544.html and repeat > > Marek already said what was on my mind, and got ignored. > Would it have changed anything if I had posted another complaint? Ignored, no. Counts as a veto? No. And if you had chimed in too, I don't know if that would have gotten anyone else to also chime in. Looking over the thread again there's two yes votes, two no votes, two people that chimed in on the thread but didn't express a yes or no to the change, and then no one else has said anything. The main thing I see currently is a whole lot of ambivalence. > I'm doing now, and apparently I get ignored, too. So what exactly > is your argument? > > > myself, I see it as more worthwhile to (a) follow the kernel in this > > area (for both tooling and consistency and ease of development for our > > overlapping community) (b) save space (in just about every conversion we > > went from 2 lines to 1 line). Thanks! > > OK, so you decided, and any additional discussion is futile... It's not futile, but here's as best I can tell, the arguments: Against Linux Kernel style SPDX tags: - Don't like // style comments - Visually inconsistent / jarring For Linux Kernel style SPDX tags: - Has higher visibility. - Has tooling to enforce correctly formatted tags. - Shorter (enforced as a single line comment means we don't have people spacing around it). - Consistent expectations for our overlapping developer community. Things that could be taken, without changing overall formatting: - Logic operators for exceptions/dual-license/etc If people speak up against the change now that we've done it, we could revert and then add in the "LICENSE-A OR LICENSE-B" change. Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180509/2d0f32e6/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 13:49 ` Tom Rini @ 2018-05-09 14:11 ` Dr. Philipp Tomsich 2018-05-09 15:40 ` Wolfgang Denk 2018-05-10 12:07 ` Måns Rullgård 2 siblings, 0 replies; 13+ messages in thread From: Dr. Philipp Tomsich @ 2018-05-09 14:11 UTC (permalink / raw) To: u-boot > On 9 May 2018, at 15:49, Tom Rini <trini@konsulko.com> wrote: > > On Wed, May 09, 2018 at 02:46:54PM +0200, Wolfgang Denk wrote: >> Dear Tom, >> >> In message <20180509114828.GG12235@bill-the-cat.ec.rr.com> you wrote: >>> >>> We should go and update [1] to note some special exemptions to the rule. >> >> I'm not happy about this. >> >>> I see you missed out on the SPDX thread over here: >>> https://lists.denx.de/pipermail/u-boot/2018-May/327544.html and repeat >> >> Marek already said what was on my mind, and got ignored. >> Would it have changed anything if I had posted another complaint? > > Ignored, no. Counts as a veto? No. And if you had chimed in too, I > don't know if that would have gotten anyone else to also chime in. > Looking over the thread again there's two yes votes, two no votes, two > people that chimed in on the thread but didn't express a yes or no to > the change, and then no one else has said anything. The main thing I > see currently is a whole lot of ambivalence. Although I am ambivalent to the underlying discussion, I have strong opinions regarding the language/standard-compliance... My vote goes to C++ comments and upgrading the language standard to C99 (or rather gnu99, as our code uses extensions). This will (at least somewhat) match how the default C compliance level in GCC has evolved over the GCC 6 through GCC 8 release cycles. And while we’re at it, we should allow "for (int i = 0; …”-style C99 declaration of loop iterations within the loop-head. > >> I'm doing now, and apparently I get ignored, too. So what exactly >> is your argument? >> >>> myself, I see it as more worthwhile to (a) follow the kernel in this >>> area (for both tooling and consistency and ease of development for our >>> overlapping community) (b) save space (in just about every conversion we >>> went from 2 lines to 1 line). Thanks! >> >> OK, so you decided, and any additional discussion is futile... > > It's not futile, but here's as best I can tell, the arguments: > Against Linux Kernel style SPDX tags: > - Don't like // style comments > - Visually inconsistent / jarring > > For Linux Kernel style SPDX tags: > - Has higher visibility. > - Has tooling to enforce correctly formatted tags. > - Shorter (enforced as a single line comment means we don't have people > spacing around it). > - Consistent expectations for our overlapping developer community. > > Things that could be taken, without changing overall formatting: > - Logic operators for exceptions/dual-license/etc > > If people speak up against the change now that we've done it, we could > revert and then add in the "LICENSE-A OR LICENSE-B" change. Thanks! > > -- > Tom ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 13:49 ` Tom Rini 2018-05-09 14:11 ` Dr. Philipp Tomsich @ 2018-05-09 15:40 ` Wolfgang Denk 2018-05-09 16:07 ` Wolfgang Denk 2018-05-09 16:14 ` Tom Rini 2018-05-10 12:07 ` Måns Rullgård 2 siblings, 2 replies; 13+ messages in thread From: Wolfgang Denk @ 2018-05-09 15:40 UTC (permalink / raw) To: u-boot Dear Tom, In message <20180509134905.GK12235@bill-the-cat.ec.rr.com> you wrote: > > > Marek already said what was on my mind, and got ignored. > > Would it have changed anything if I had posted another complaint? > > Ignored, no. Counts as a veto? No. And if you had chimed in too, I > don't know if that would have gotten anyone else to also chime in. This does not really convince me. IMO it makes no sense to blow up mailing list traffic with extensive voting for such things. Marek said everything that needed to be said, and repeating it would IMO not add any weight to it. If you really want a poll including more people, then explicitly start one - but please not on the mailing list, at least not fuch such details. > It's not futile, but here's as best I can tell, the arguments: > Against Linux Kernel style SPDX tags: I think this argument is wrong from the start. This is not about "Linux Kernel style SPDX tags". There is two different topics, which are actually independent, and should be treated as such: - Linux Kernel style SPDX tags, or rather more modern SPDX tags including the needed operators to deal with exceptions, multiple licenses, etc. When I invented the SPDX tags I did not foresee this need (my fault), but I'm still proud that U-Boot introduced this mechanism at all. Yes, it is necessary to adapt the new developments in this area. - Comment style. This is just a matter of coding style and preferences. Whether you use C comments (single line or multi-line) or C++ comments does not make any difference technically. U-Boot has been discouraging the use of C++ comments for 18 years, and I still see no good reason to change this. [And yes, we also have the rule not to meddle with code copied from other projects.] > - Don't like // style comments > - Visually inconsistent / jarring - Against existing coding style. > For Linux Kernel style SPDX tags: > - Has higher visibility. ??? I can't parse this. In which way has // SPDX-License-Identifier: GPL-2.0+ "higher visibility" than /* SPDX-License-Identifier: GPL-2.0+ */ or even /* * SPDX-License-Identifier: GPL-2.0+ */ ? [IMO, the last form is the most visible one.] And since when do we care about a single line of white space or two when it comes to consistency or readability? > - Has tooling to enforce correctly formatted tags. > - Shorter (enforced as a single line comment means we don't have people > spacing around it). Come on, this argument is really lame. > - Consistent expectations for our overlapping developer community. Please explain? Who associates SPDX tags with C++ comments? This is silly. We don't use these in Makefiles, or in shell scripts, or in ... And when talking about consistency - what about this in the current Linux Kernel tree: arch/x86/kernel/apic/apic_common.c: * SPDX-License-Identifier: GPL-2.0 arch/s390/tools/gen_opcode_table.c:/* SPDX-License-Identifier: GPL-2.0 */ arch/arm64/crypto/sha3-ce-glue.c:/* SPDX-License-Identifier: GPL-2.0 */ arch/arm64/crypto/sha512-ce-glue.c:/* SPDX-License-Identifier: GPL-2.0 */ arch/riscv/kernel/ftrace.c:/* SPDX-License-Identifier: GPL-2.0 */ arch/riscv/kernel/module-sections.c:/* SPDX-License-Identifier: GPL-2.0 drivers/tty/hvc/hvc_riscv_sbi.c:/* SPDX-License-Identifier: GPL-2.0 */ drivers/memory/brcmstb_dpfe.c: * SPDX-License-Identifier: GPL-2.0 drivers/soc/amlogic/meson-mx-socinfo.c: * SPDX-License-Identifier: GPL-2.0+ drivers/soc/amlogic/meson-gx-pwrc-vpu.c: * SPDX-License-Identifier: GPL-2.0+ drivers/soc/amlogic/meson-gx-socinfo.c: * SPDX-License-Identifier: GPL-2.0+ drivers/i2c/busses/i2c-sprd.c: * SPDX-License-Identifier: (GPL-2.0+ OR MIT) drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c: * SPDX-License-Identifier: (GPL-2.0+ or MIT) drivers/pinctrl/meson/pinctrl-meson-axg.c: * SPDX-License-Identifier: (GPL-2.0+ or MIT) drivers/virt/vboxguest/vboxguest_core.c:/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */ drivers/virt/vboxguest/vboxguest_linux.c:/* SPDX-License-Identifier: GPL-2.0 */ drivers/virt/vboxguest/vboxguest_utils.c:/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */ drivers/watchdog/rtd119x_wdt.c: * SPDX-License-Identifier: GPL-2.0+ drivers/rtc/rtc-rtd119x.c: * SPDX-License-Identifier: GPL-2.0+ drivers/rtc/rtc-sc27xx.c: * SPDX-License-Identifier: GPL-2.0 ... Yes, 47 files is only a small fraction compared against the 5261 C files with C++ commented tags. But consistency of apparently not a real issue when it comes to comment style in Linux. > Things that could be taken, without changing overall formatting: > - Logic operators for exceptions/dual-license/etc Right, this is completely independent and out of question here. > If people speak up against the change now that we've done it, we could > revert and then add in the "LICENSE-A OR LICENSE-B" change. Thanks! I have always been against the use of C++ comments in U-Boot (and in general in non C++ code), and I still am against it. Not that this matters much. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de The rule on staying alive as a program manager is to give 'em a num- ber or give 'em a date, but never give 'em both at once. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 15:40 ` Wolfgang Denk @ 2018-05-09 16:07 ` Wolfgang Denk 2018-05-09 16:22 ` Tom Rini 2018-05-09 16:14 ` Tom Rini 1 sibling, 1 reply; 13+ messages in thread From: Wolfgang Denk @ 2018-05-09 16:07 UTC (permalink / raw) To: u-boot Dear Tom, In message <20180509154052.5E0B424000A@gemini.denx.de> I wrote: > > > - Don't like // style comments > > - Visually inconsistent / jarring > > - Against existing coding style. Also, the SPDX tag is rarely a separate comment line. In most cases, it is part of a larger file header, say for example: common/main.c: /* * (C) Copyright 2000 * Wolfgang Denk, DENX Software Engineering, wd at denx.de. * * SPDX-License-Identifier: GPL-2.0+ */ Do you suggest to reformat this into something like: /* * (C) Copyright 2000 * Wolfgang Denk, DENX Software Engineering, wd at denx.de. */ // SPDX-License-Identifier: GPL-2.0+ ? If yes, then please explain which sense this would make? It is just unnecessay work, and the result is inconsistent and ugly. > > - Has tooling to enforce correctly formatted tags. I forgot to ask which "tooling" you have in mind here? I did not see anything like that in the kernel source tree. What am I missing? Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de This restaurant was advertising breakfast any time. So I ordered french toast in the renaissance. - Steven Wright, comedian ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 16:07 ` Wolfgang Denk @ 2018-05-09 16:22 ` Tom Rini 0 siblings, 0 replies; 13+ messages in thread From: Tom Rini @ 2018-05-09 16:22 UTC (permalink / raw) To: u-boot On Wed, May 09, 2018 at 06:07:50PM +0200, Wolfgang Denk wrote: > Dear Tom, > > In message <20180509154052.5E0B424000A@gemini.denx.de> I wrote: > > > > > - Don't like // style comments > > > - Visually inconsistent / jarring > > > > - Against existing coding style. > > Also, the SPDX tag is rarely a separate comment line. In most > cases, it is part of a larger file header, say for example: > > common/main.c: > > /* > * (C) Copyright 2000 > * Wolfgang Denk, DENX Software Engineering, wd at denx.de. > * > * SPDX-License-Identifier: GPL-2.0+ > */ > > > Do you suggest to reformat this into something like: > > /* > * (C) Copyright 2000 > * Wolfgang Denk, DENX Software Engineering, wd at denx.de. > */ > > // SPDX-License-Identifier: GPL-2.0+ > > ? I know it's going to annoy you more, but yes, that's already _done_: $ head -n5 common/main.c // SPDX-License-Identifier: GPL-2.0+ /* * (C) Copyright 2000 * Wolfgang Denk, DENX Software Engineering, wd at denx.de. */ It was about 97% automatic perl regex + sed insert and 3% "Ugh, this file does not follow the normal conventional comment style at all". > If yes, then please explain which sense this would make? It is just > unnecessay work, and the result is inconsistent and ugly. > > > > > - Has tooling to enforce correctly formatted tags. > > I forgot to ask which "tooling" you have in mind here? I did not > see anything like that in the kernel source tree. What am I > missing? This started because I updated checkpatch.pl and that in turn checks if new files have an SPDX tag and if so, does it match the kernel style formatting. The first email: https://lists.denx.de/pipermail/u-boot/2018-April/325510.html that brought this up. And yes, I run checkpatch.pl on everything before every pull/push. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180509/5689e3ca/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 15:40 ` Wolfgang Denk 2018-05-09 16:07 ` Wolfgang Denk @ 2018-05-09 16:14 ` Tom Rini 2018-05-09 20:44 ` Wolfgang Denk 1 sibling, 1 reply; 13+ messages in thread From: Tom Rini @ 2018-05-09 16:14 UTC (permalink / raw) To: u-boot On Wed, May 09, 2018 at 05:40:52PM +0200, Wolfgang Denk wrote: > Dear Tom, > > In message <20180509134905.GK12235@bill-the-cat.ec.rr.com> you wrote: > > > > > Marek already said what was on my mind, and got ignored. > > > Would it have changed anything if I had posted another complaint? > > > > Ignored, no. Counts as a veto? No. And if you had chimed in too, I > > don't know if that would have gotten anyone else to also chime in. > > This does not really convince me. > > IMO it makes no sense to blow up mailing list traffic with extensive > voting for such things. Marek said everything that needed to be > said, and repeating it would IMO not add any weight to it. If you > really want a poll including more people, then explicitly start one > - but please not on the mailing list, at least not fuch such > details. I honestly couldn't think of a better way to see if anyone cared besides an RFC to the mailing list. > > It's not futile, but here's as best I can tell, the arguments: > > Against Linux Kernel style SPDX tags: > > I think this argument is wrong from the start. This is not about > "Linux Kernel style SPDX tags". There is two different topics, > which are actually independent, and should be treated as such: > > - Linux Kernel style SPDX tags, or rather more modern SPDX tags > including the needed operators to deal with exceptions, multiple > licenses, etc. When I invented the SPDX tags I did not foresee > this need (my fault), but I'm still proud that U-Boot introduced > this mechanism at all. > > Yes, it is necessary to adapt the new developments in this area. And for the record, it's a good thing you did. Since we were the best example of a project going all-in on the tags for a long while I know the people that did the kernel scheme looked at what we had. > - Comment style. This is just a matter of coding style and > preferences. Whether you use C comments (single line or > multi-line) or C++ comments does not make any difference > technically. I disagree on these being separate. I copy/pasted the relevant part of the kernel documentation as an update to our doc but where it goes (first line) and how it goes (comments like ....) are as much a part of the style as the syntax. I'd argue that where the license copies go and some directory structure there-of is also part of it but I think our locations are more set in stone, but we can live with it. > U-Boot has been discouraging the use of C++ comments for 18 years, > and I still see no good reason to change this. [And yes, we also > have the rule not to meddle with code copied from other projects.] I don't want to have it buried here but maybe it's time to talk about fully adopting C99 (or, GNU C99). Did you happen to read https://lkml.org/lkml/2017/11/25/133 that Yamada-san passed along? Having read that after converting the tags that my first regex missed, maybe we were wrong 18 years ago. > > - Don't like // style comments > > - Visually inconsistent / jarring > > - Against existing coding style. > > > > For Linux Kernel style SPDX tags: > > - Has higher visibility. > > ??? I can't parse this. In which way has > > // SPDX-License-Identifier: GPL-2.0+ > > "higher visibility" than > > /* SPDX-License-Identifier: GPL-2.0+ */ > > or even I was pointing out first line vs somewhere within the top comment block as I don't consider comment format vs location different items. > /* > * SPDX-License-Identifier: GPL-2.0+ > */ > > ? > > [IMO, the last form is the most visible one.] > > And since when do we care about a single line of white space or two > when it comes to consistency or readability? > > > - Has tooling to enforce correctly formatted tags. > > > > - Shorter (enforced as a single line comment means we don't have people > > spacing around it). > > Come on, this argument is really lame. That the SPDX tag meant the same as the whole license text was part of the reason to convert. > > - Consistent expectations for our overlapping developer community. > > Please explain? Who associates SPDX tags with C++ comments? This This is again part of the difference in counting comment format as part of it, or not. > is silly. We don't use these in Makefiles, or in shell scripts, or > in ... We sometimes do for Makefiles, almost always do in shell scripts. > And when talking about consistency - what about this in the current > Linux Kernel tree: > > arch/x86/kernel/apic/apic_common.c: * SPDX-License-Identifier: GPL-2.0 > arch/s390/tools/gen_opcode_table.c:/* SPDX-License-Identifier: GPL-2.0 */ > arch/arm64/crypto/sha3-ce-glue.c:/* SPDX-License-Identifier: GPL-2.0 */ > arch/arm64/crypto/sha512-ce-glue.c:/* SPDX-License-Identifier: GPL-2.0 */ > arch/riscv/kernel/ftrace.c:/* SPDX-License-Identifier: GPL-2.0 */ > arch/riscv/kernel/module-sections.c:/* SPDX-License-Identifier: GPL-2.0 > drivers/tty/hvc/hvc_riscv_sbi.c:/* SPDX-License-Identifier: GPL-2.0 */ > drivers/memory/brcmstb_dpfe.c: * SPDX-License-Identifier: GPL-2.0 > drivers/soc/amlogic/meson-mx-socinfo.c: * SPDX-License-Identifier: GPL-2.0+ > drivers/soc/amlogic/meson-gx-pwrc-vpu.c: * SPDX-License-Identifier: GPL-2.0+ > drivers/soc/amlogic/meson-gx-socinfo.c: * SPDX-License-Identifier: GPL-2.0+ > drivers/i2c/busses/i2c-sprd.c: * SPDX-License-Identifier: (GPL-2.0+ OR MIT) > drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c: * SPDX-License-Identifier: (GPL-2.0+ or MIT) > drivers/pinctrl/meson/pinctrl-meson-axg.c: * SPDX-License-Identifier: (GPL-2.0+ or MIT) > drivers/virt/vboxguest/vboxguest_core.c:/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */ > drivers/virt/vboxguest/vboxguest_linux.c:/* SPDX-License-Identifier: GPL-2.0 */ > drivers/virt/vboxguest/vboxguest_utils.c:/* SPDX-License-Identifier: (GPL-2.0 OR CDDL-1.0) */ > drivers/watchdog/rtd119x_wdt.c: * SPDX-License-Identifier: GPL-2.0+ > drivers/rtc/rtc-rtd119x.c: * SPDX-License-Identifier: GPL-2.0+ > drivers/rtc/rtc-sc27xx.c: * SPDX-License-Identifier: GPL-2.0 > ... > > > Yes, 47 files is only a small fraction compared against the 5261 > C files with C++ commented tags. But consistency of apparently not a > real issue when it comes to comment style in Linux. Inconsistent rollout? Tags went in good bit before the document that said how/where they should be was finally merged. I'm sure it's on the kernel janitors list for someone to fixup, or there's patches slowly in-flight to do so. > > Things that could be taken, without changing overall formatting: > > - Logic operators for exceptions/dual-license/etc > > Right, this is completely independent and out of question here. Agreed. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180509/8a8c4ef7/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 16:14 ` Tom Rini @ 2018-05-09 20:44 ` Wolfgang Denk 0 siblings, 0 replies; 13+ messages in thread From: Wolfgang Denk @ 2018-05-09 20:44 UTC (permalink / raw) To: u-boot Dear Tom, In message <20180509161456.GM12235@bill-the-cat.ec.rr.com> you wrote: > > I don't want to have it buried here but maybe it's time to talk about > fully adopting C99 (or, GNU C99). Did you happen to read > https://lkml.org/lkml/2017/11/25/133 that Yamada-san passed along? > Having read that after converting the tags that my first regex missed, > maybe we were wrong 18 years ago. OK. You know my opinion. > > is silly. We don't use these in Makefiles, or in shell scripts, or > > in ... > > We sometimes do for Makefiles, almost always do in shell scripts. You misunderstand. I meant: we do not use C++ comments in Makefiles or in shell scripts, or in most other non-C code... I drop out of this discussion here - thanks. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Ada is PL/I trying to be Smalltalk. - Codoso diBlini ^ permalink raw reply [flat|nested] 13+ messages in thread
* [U-Boot] GCC 7.x vs. C++ comments 2018-05-09 13:49 ` Tom Rini 2018-05-09 14:11 ` Dr. Philipp Tomsich 2018-05-09 15:40 ` Wolfgang Denk @ 2018-05-10 12:07 ` Måns Rullgård 2 siblings, 0 replies; 13+ messages in thread From: Måns Rullgård @ 2018-05-10 12:07 UTC (permalink / raw) To: u-boot Tom Rini <trini@konsulko.com> writes: > - Shorter Please explain how // SPDX is significantly shorter than /* SPDX */ Having // comments next to /* ones is just hideously ugly. If some scanning tool is too stupid to handle standard C comments, it's the tool that needs to be fixed. -- Måns Rullgård ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2018-05-10 12:07 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-05-09 8:46 [U-Boot] GCC 7.x vs. C++ comments Dr. Philipp Tomsich 2018-05-09 11:16 ` Tom Rini 2018-05-09 11:38 ` Wolfgang Denk 2018-05-09 11:48 ` Tom Rini 2018-05-09 12:46 ` Wolfgang Denk 2018-05-09 13:49 ` Tom Rini 2018-05-09 14:11 ` Dr. Philipp Tomsich 2018-05-09 15:40 ` Wolfgang Denk 2018-05-09 16:07 ` Wolfgang Denk 2018-05-09 16:22 ` Tom Rini 2018-05-09 16:14 ` Tom Rini 2018-05-09 20:44 ` Wolfgang Denk 2018-05-10 12:07 ` Måns Rullgård
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.