In article <20200317005012.daf4af...@cvs.netbsd.org>,
Santhosh Raju <source-changes-d@NetBSD.org> wrote:
>-=-=-=-=-=-
>
>Module Name:   src
>Committed By:  fox
>Date:          Tue Mar 17 00:50:12 UTC 2020
>
>Modified Files:
>       src/external/cddl/osnet/lib/libdtrace: Makefile
>
>Log Message:
>external/cddl/osnet: Supress -Werror=maybe-uninitialized error in libdtrace.
>
>It looks like this is a false positive, since the section of code
>triggering the error
>
>external/cddl/osnet/dist/lib/libdtrace/common/dt_proc.c:400:42:
>
>is only accessed after "err" is initialized.
>
>Error was reported when build.sh was run with MKLIBCSANITIZER=yes flag.

You did not just suppress the error; you suppressed the warning too...
There is a difference between -Wno-error=maybe-uninitialized and
-Wno-maybe-uninitialized. I think we want the first flavor, otherwise
this is a large axe that will hide other warnings in the long run.

Now perhaps it is better to do what we've been doing traditionallly:
over-initialize the variable with 'foo = 0; // XXX: gcc', but that's
more book-keeping (but at least it is localized as opposed to suppress
for the entire compilation unit). Please note that we don't have a good
way to go around and test those error-avoidance overrides each time we
upgrade the compiler so they tend to stick forever.

christos1

Reply via email to