On Tue, Jan 31, 2023 at 9:27 PM David Malcolm <dmalc...@redhat.com> wrote: > > Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. > Pushed to trunk as r13-5615-gd03ae4be2c6d48. > > gcc/testsuite/ChangeLog: > * gcc.dg/analyzer/call-summaries-2.c: Add > dg-require-effective-target alloca. > * gcc.dg/analyzer/imprecise-floating-point-1.c: Likewise. > * gcc.dg/analyzer/infinite-recursion-alloca.c: Likewise. > * gcc.dg/analyzer/malloc-callbacks.c: Likewise. > * gcc.dg/analyzer/out-of-bounds-5.c: Likewise. Remove includes > of <stdio.h> and <alloca.h>. Use "__builtin_free" rather than > "free", to match uses of "__builtin_malloc". > * gcc.dg/analyzer/putenv-1.c: Add dg-require-effective-target > alloca. > * gcc.dg/analyzer/write-to-string-literal-5.c: Likewise.
Thanks for this fix, these all pass now on Windows. I hope I'm not being pedantic, but there's still a remaining inconsistency in that some parts of the test use memcpy (like test6), and others use __builtin_memcpy (like test98). There isn't a call to __builtin_memset(), but there is a call to memset(). Maybe these differences are intentional, though. If they aren't, and you wanted to reduce it further, you could remove string.h and use the builtins. You could also include stddef.h instead of stdlib.h, if all you need is size_t.