On 07/02/2012 11:40 PM, Joachim Schmitz wrote: > I' don't quite understand, why not the entire alloca.in.h is bracketed by > this. > At least now that it is used in 2 places?
We can't bracket the entire file, since (as far as I know) it's not safe to put #include inside 'extern "C" { ... }'. How about the following patch instead? It tries to address your other comments. diff --git a/ChangeLog b/ChangeLog index e7f7883..9dda6c7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-07-03 Paul Eggert <egg...@cs.ucla.edu> + + alloca: add support for HP NonStop TNS/E native + * lib/alloca.in.h (alloca): Support the new host. + From a suggestion by Joachim Schmitz in + <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>. + 2012-07-02 Pádraig Brady <p...@draigbrady.com> fsusage: remove code not needed on non GNU/Linux systems. diff --git a/lib/alloca.in.h b/lib/alloca.in.h index 99be048..ed8aad3 100644 --- a/lib/alloca.in.h +++ b/lib/alloca.in.h @@ -45,11 +45,18 @@ # elif defined __DECC && defined __VMS # define alloca __ALLOCA # else -# include <stddef.h> +# if defined __TANDEM && defined _TNS_E_TARGET +# pragma intrinsic (_alloca) +# define alloca _alloca +typedef unsigned short _GL_ALLOCA_SIZE_T; +# else +# include <stddef.h> +typedef size_t _GL_ALLOCA_SIZE_T; +# endif # ifdef __cplusplus extern "C" # endif -void *alloca (size_t); +void *alloca (_GL_ALLOCA_SIZE_T); # endif #endif