[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc-patches
Subject: Re: [PATCH] run -Wnonnull later (PR 87489)
From: Franz Sirl <Franz.Sirl-kernel () lauterbach ! com>
Date: 2021-02-19 9:48:57
Message-ID: c9f678f8-5553-8085-aaaf-7e97af55b237 () lauterbach ! com
[Download RAW message or body]
Am 2021-02-01 um 01:31 schrieb Martin Sebor via Gcc-patches:
> The initial -Wnonnull implementation in the middle end took place
> too late in the pipeline (just before expansion), and as a result
> was prone to false positives (bug 78817). In an attempt to avoid
> the worst of those, the warning was moved to the ccp2 pass in
> r243874. However, as the test case in PR 87489 shows, this is
> in turn too early and causes other false positives as a result.
>
> A few experiments with running the warning later suggest that
> just before the mergephi2 pass is a good point to avoid this class
> of false positives without causing any regressions or introducing
> any new warnings either in Glibc or in Binutils/GDB.
>
> Since PR 87489 is a GCC 8-11 regression I propose to make this
> change on the trunk as well as on the release branches.
Hi Martin,
I tested your patch and it showed also one more warning for this
testcase with -O2 -Wnonnull:
class b {
public:
long c();
};
class B {
public:
B() : f() {}
b *f;
};
long d, e;
class g : B {
public:
void h() {
long a = f->c();
d = e = a;
}
};
class j {
j();
g i;
};
j::j() { i.h(); }
I hope cvise didn't minimize too much, but at least in the original much
larger code the warning looks reasonable too.
Franz
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic