
Hello,
Am Tue, Oct 22, 2024 at 04:23:07PM +0300 schrieb Andy Shevchenko:
On Mon, Oct 21, 2024 at 06:32:21PM +0200, Simon Glass wrote:
On Mon, 21 Oct 2024 at 16:27, Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
looking at the redness of the output of `make W=1` here is the question: isn't it a good time to enable `make W=1` by default. Yes, I understand the impact, but at least we can do it mandatory for a _new_ code submitted to U-Boot, right?
Ideally I would have what Linux kernel has for a few releases already, i.e. Werror by default and getting close to make a clean builds with that and make W=1` at least against default configurations (yeah, with U-Boot there is probably no default, but sandbox one).
Warnings should be warnings...
Yes, and ideally the code should not have warnings, right?
+1
Otherwise how can we do better? It's quite similar to what you wrote WRT documenting the function prototypes, the same applies to the new contribution WRT `make W=1`.
if you would like to enable it for CI that is fine by me,
Yes, that's the idea, but I'm not the owner of any U-Boot CIs, hence it's a proposal.
but the U-Boot makefile shouldn't do it. It defeats the purpose of having a distinction between errors and warnings.
While it's not what I wanted, I disagree on your comment. The idea is to make rules stricter (for new code) to make it better and that's why Linus enabled Werror by default in the Linux kernel. And personally I consider that as a good thing to follow.
Long term experience: each time you upgrade your toolchain you get new warnings. Each package (u-boot, kernel, userland, does not matter which) enabling -Werror breaks the BSP build. What should a developer do then? Fix each warning in each foreign project and bring it upstream? Or disable -Werror? Last thing is what is usually done. You can see several patches in buildroot or ptxdist disabling -Werror for this reason.
Just my 2 cents.
Greets Alex