On Mon, 2021-08-23 at 22:36 -0400, NightStrike wrote: > On Mon, Aug 23, 2021 at 8:16 PM NightStrike <nightstr...@gmail.com> > wrote: > > On Mon, Aug 23, 2021 at 4:09 PM David Malcolm <dmalc...@redhat.com> > > wrote: > > > Which tests are failing, specifically? > > Here's the full list of all 37 failures that fail for any reason: > > FAIL: gcc.dg/analyzer/dot-output.c dg-check-dot dot-output.c.state- > purge.dot > FAIL: gcc.dg/analyzer/malloc-callbacks.c (test for excess errors) > FAIL: gcc.dg/analyzer/pr98969.c (test for warnings, line 17) > FAIL: gcc.dg/analyzer/pr98969.c (test for excess errors) > FAIL: gcc.dg/analyzer/pr99716-1.c (test for warnings, line 25) > FAIL: gcc.dg/analyzer/pr99716-2.c (test for excess errors) > FAIL: gcc.dg/analyzer/pr99774-1.c (test for excess errors) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 16) > FAIL: gcc.dg/analyzer/sensitive-1.c warning (test for warnings, line > 17) > FAIL: gcc.dg/analyzer/sensitive-1.c event (test for warnings, line > 17) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 23) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 24) > FAIL: gcc.dg/analyzer/sensitive-1.c event (test for warnings, line > 24) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 30) > FAIL: gcc.dg/analyzer/sensitive-1.c warning (test for warnings, line > 31) > FAIL: gcc.dg/analyzer/sensitive-1.c event (test for warnings, line > 31) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 44) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 50) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 55) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 60) > FAIL: gcc.dg/analyzer/sensitive-1.c (test for warnings, line 61) > FAIL: gcc.dg/analyzer/signal-1.c (test for warnings, line 13) > FAIL: gcc.dg/analyzer/signal-1.c (test for warnings, line 25) > FAIL: gcc.dg/analyzer/signal-2.c (test for warnings, line 16) > FAIL: gcc.dg/analyzer/signal-2.c (test for warnings, line 28) > FAIL: gcc.dg/analyzer/signal-3.c (test for warnings, line 10) > FAIL: gcc.dg/analyzer/signal-3.c (test for warnings, line 21) > FAIL: gcc.dg/analyzer/signal-4a.c (test for warnings, line 15) > FAIL: gcc.dg/analyzer/signal-4a.c expected multiline pattern lines > 33-75 not found: <snip> > FAIL: gcc.dg/analyzer/signal-6.c (test for warnings, line 11) > FAIL: gcc.dg/analyzer/signal-6.c (test for warnings, line 16) > FAIL: gcc.dg/analyzer/signal-registration-loc.c (test for warnings, > line 15) > FAIL: gcc.dg/analyzer/signal-registration-loc.c (test for warnings, > line 21) > FAIL: gcc.dg/analyzer/strndup-1.c (test for excess errors) > FAIL: gcc.dg/analyzer/zlib-5.c (test for excess errors) > > Of those, here is what I diagnosed so far: > pr98969.c:9:19: warning: cast to pointer from integer of different > size [-Wint-to-pointer-cast] > * This fails because the function arguments are "long int", and that > tries to hold a pointer. It should be uintptr_t or similar. > > pr98969.c:17:3: warning: double-'free' of '*((struct foo *)(long long > int)i).expr' [CWE-415] [-Wanalyzer-double-free] > * My guess is that the regex is not right for running under wine, > because that shouldn't be an excess error. > > pr99716-2.c:13:30: warning: implicit declaration of function > 'random'; > did you mean 'rand'? [-Wimplicit-function-declaration] > * The warning is probably right here. The C function is rand(). > Where does random() come from? > > pr99774-1.c:12:14: warning: conflicting types for built-in function > 'calloc'; expected 'void *(long long unsigned int, long long > unsigned > int)' [-Wbuiltin-declaration-mismatch] > * size_t issue > > strndup-1.c:9:13: warning: incompatible implicit declaration of > built-in function 'strndup' [-Wbuiltin-declaration-mismatch] > * This function doesn't exist on windows. So, either we add it to > libmingwex if it isn't already there and then link that library in to > the test, or just mark it as unsupported. I'd probably prefer the > former, but it's not up to me. > > zlib-5.c:10:15: warning: conflicting types for built-in function > 'strlen'; expected 'long long unsigned int(const char *)' > [-Wbuiltin-declaration-mismatch] > zlib-5.c:16:14: warning: conflicting types for built-in function > 'calloc'; expected 'void *(long long unsigned int, long long > unsigned > int)' [-Wbuiltin-declaration-mismatch] > * size_t issue > > gcc.dg/analyzer/gzio-3.c: > gcc.dg/analyzer/gzio-3a.c: > * For some reason, these work. Maybe fread() isn't a builtin? Maybe > there's a way to make gcc emit a warning when fread() is redefined > differently.
Thanks for working through the above. Do you have an account in GCC's bugzilla? If so, please can you turn this into a bug report there. Is there a recipe for testing this via wine? (it's been almost 20 years since I did any Windows coding...) Dave