https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102910

--- Comment #6 from kargl at gcc dot gnu.org ---
(In reply to David Edelsohn from comment #5)
> Previously the test case was unresolved because it referenced alloca without
> a declaration.
> 
> char *adata = (char *) alloca (n);
> 
> If you want to call __builtin_alloca() because this is a testcase for GCC,
> which provides __builtin_alloca(), fine.  You should call it directly and
> not alloca().
> 
> If you want to call alloca(), then you need logic for the different systems
> that declare alloca() in different header files.
> 
> #ifdef alloca
> 
> is wrong because it makes the testcase system dependent and tests different
> behavior.

It seems you broke it with

% git blame gcc/testsuite/gfortran.dg/c-interop/cf-descriptor-5-c.c
cb17b5054118 (Sandra Loosemore  2021-06-30 20:03:27 -0700  1) #include
<stdlib.h
>
cb17b5054118 (Sandra Loosemore  2021-06-30 20:03:27 -0700  2) #include
<stdio.h>
000000000000 (Not Committed Yet 2021-10-24 13:54:29 -0700  3) #ifndef alloca
f1408388f2e2 (David Edelsohn    2021-09-30 16:43:58 -0400  4) #include
<alloca.h
>
000000000000 (Not Committed Yet 2021-10-24 13:54:29 -0700  5) #endif

Shouldn't the person who broke the testcase fix it?  Or, is it okay
for anyone to commit an unreviewed knowingly broken "fix" to paper over
a failure on whatever target they are working on?

Reply via email to