Hi Janne, > committed a slightly modified patch as r239356. Changes from the > submitted patch attached. To my surprise, it turned out that my > fallback code using __gthread_key_{create,delete} and > __ghtread_{get,set}_specific was faster than my TLS code, so I removed > the TLS configure magic and the TLS code and just left the __gthread > stuff in.
this patch broke Solaris bootstrap: /vol/gcc/src/hg/trunk/local/libgfortran/intrinsics/random.c: In function 'constructor_random': /vol/gcc/src/hg/trunk/local/libgfortran/intrinsics/ random.c:915:45: error: 'free' undeclared (first use in this function); did you mean 'frexp'? __gthread_key_create (&rand_state_key, &free); ^~~~ frexp /vol/gcc/src/hg/trunk/local/libgfortran/intrinsics/random.c:915:45: note: each undeclared identifier is reported only once for each function it appears in You need to include <stdlib.h> for the free declaration, as this patch does. Allowed i386-pc-solaris2.12 and sparc-sun-solaris2.12 to continue. I'm going to install this as obvious. Rainer 2016-08-11 Rainer Orth <r...@cebitec.uni-bielefeld.de> libgfortran: * intrinsics/random.c: Include <stdlib.h>.
diff --git a/libgfortran/intrinsics/random.c b/libgfortran/intrinsics/random.c --- a/libgfortran/intrinsics/random.c +++ b/libgfortran/intrinsics/random.c @@ -27,6 +27,7 @@ see the files COPYING3 and COPYING.RUNTI #include "libgfortran.h" #include <gthr.h> #include <string.h> +#include <stdlib.h> /* For getosrandom. */ #ifdef HAVE_SYS_TYPES_H
-- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University