From a429a4b128ac2d52a39be89456d13ee2243b12dc Mon Sep 17 00:00:00 2001 From: jakub Date: Mon, 31 Oct 2005 08:08:40 +0000 Subject: [PATCH] * libgomp.h (attribute_hidden, ialias): Define. * config/posix/proc.c (omp_get_num_procs): Add ialias. * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, omp_test_lock, omp_test_nest_lock): Likewise. * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, omp_test_lock, omp_test_nest_lock): Likewise. * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, omp_get_dynamic, omp_get_nested): Likewise. * parallel.c (omp_get_num_threads, omp_get_max_threads, omp_get_thread_num, omp_in_parallel): Likewise. * fortran.c (ialias_redirect): Define. (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, omp_test_lock, omp_test_nest_lock, omp_set_dynamic, omp_set_nested, omp_set_num_threads, omp_get_dynamic, omp_get_nested, omp_in_parallel, omp_get_max_threads, omp_get_num_procs, omp_get_num_threads, omp_get_thread_num, omp_get_wtick, omp_get_wtime): Add ialias_redirect. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-20050608-branch@106267 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgomp/ChangeLog | 27 +++++++++++++++++++++++++++ libgomp/config/linux/lock.c | 11 +++++++++++ libgomp/config/posix/lock.c | 11 +++++++++++ libgomp/config/posix/proc.c | 2 ++ libgomp/config/posix/time.c | 3 +++ libgomp/env.c | 6 ++++++ libgomp/fortran.c | 28 ++++++++++++++++++++++++++++ libgomp/libgomp.h | 14 ++++++++++++++ libgomp/parallel.c | 5 +++++ 9 files changed, 107 insertions(+) diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index da677f5cec8..d5b75887c29 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,30 @@ +2005-10-31 Jakub Jelinek + + * libgomp.h (attribute_hidden, ialias): Define. + * config/posix/proc.c (omp_get_num_procs): Add ialias. + * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise. + * config/posix/lock.c (omp_init_lock, omp_init_nest_lock, + omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, + omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, + omp_test_lock, omp_test_nest_lock): Likewise. + * config/linux/lock.c (omp_init_lock, omp_init_nest_lock, + omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock, + omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock, + omp_test_lock, omp_test_nest_lock): Likewise. + * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads, + omp_get_dynamic, omp_get_nested): Likewise. + * parallel.c (omp_get_num_threads, omp_get_max_threads, + omp_get_thread_num, omp_in_parallel): Likewise. + * fortran.c (ialias_redirect): Define. + (omp_init_lock, omp_init_nest_lock, omp_destroy_lock, + omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, + omp_unset_lock, omp_unset_nest_lock, omp_test_lock, + omp_test_nest_lock, omp_set_dynamic, omp_set_nested, + omp_set_num_threads, omp_get_dynamic, omp_get_nested, + omp_in_parallel, omp_get_max_threads, omp_get_num_procs, + omp_get_num_threads, omp_get_thread_num, omp_get_wtick, + omp_get_wtime): Add ialias_redirect. + 2005-10-30 Jakub Jelinek * fortran.c: Include stdlib.h. diff --git a/libgomp/config/linux/lock.c b/libgomp/config/linux/lock.c index 2be65591ebc..e34ab9656a1 100644 --- a/libgomp/config/linux/lock.c +++ b/libgomp/config/linux/lock.c @@ -172,3 +172,14 @@ omp_test_nest_lock (omp_nest_lock_t *lock) return 0; } + +ialias (omp_init_lock) +ialias (omp_init_nest_lock) +ialias (omp_destroy_lock) +ialias (omp_destroy_nest_lock) +ialias (omp_set_lock) +ialias (omp_set_nest_lock) +ialias (omp_unset_lock) +ialias (omp_unset_nest_lock) +ialias (omp_test_lock) +ialias (omp_test_nest_lock) diff --git a/libgomp/config/posix/lock.c b/libgomp/config/posix/lock.c index 0fe36d387c9..3d7a6a94597 100644 --- a/libgomp/config/posix/lock.c +++ b/libgomp/config/posix/lock.c @@ -91,3 +91,14 @@ extern void omp_unset_nest_lock (omp_nest_lock_t *) extern int omp_test_nest_lock (omp_nest_lock_t *) __attribute__((alias ("omp_test_lock"))); + +ialias (omp_init_lock) +ialias (omp_init_nest_lock) +ialias (omp_destroy_lock) +ialias (omp_destroy_nest_lock) +ialias (omp_set_lock) +ialias (omp_set_nest_lock) +ialias (omp_unset_lock) +ialias (omp_unset_nest_lock) +ialias (omp_test_lock) +ialias (omp_test_nest_lock) diff --git a/libgomp/config/posix/proc.c b/libgomp/config/posix/proc.c index ec7f34a70d9..11589098bf5 100644 --- a/libgomp/config/posix/proc.c +++ b/libgomp/config/posix/proc.c @@ -94,3 +94,5 @@ omp_get_num_procs (void) return gomp_nthreads_var; #endif } + +ialias (omp_get_num_procs) diff --git a/libgomp/config/posix/time.c b/libgomp/config/posix/time.c index a5fda843784..7624a24a419 100644 --- a/libgomp/config/posix/time.c +++ b/libgomp/config/posix/time.c @@ -78,3 +78,6 @@ omp_get_wtick (void) return 1.0 / sysconf(_SC_CLK_TCK); #endif } + +ialias (omp_get_wtime) +ialias (omp_get_wtick) diff --git a/libgomp/env.c b/libgomp/env.c index 8beb01b0b69..049e4134062 100644 --- a/libgomp/env.c +++ b/libgomp/env.c @@ -189,3 +189,9 @@ omp_get_nested (void) { return gomp_nest_var; } + +ialias (omp_set_dynamic) +ialias (omp_set_nested) +ialias (omp_set_num_threads) +ialias (omp_get_dynamic) +ialias (omp_get_nested) diff --git a/libgomp/fortran.c b/libgomp/fortran.c index 9619f71ef08..8e302ffeb68 100644 --- a/libgomp/fortran.c +++ b/libgomp/fortran.c @@ -31,6 +31,34 @@ #include "libgomp_f.h" #include +#ifdef HAVE_ATTRIBUTE_ALIAS +/* Use internal aliases if possible. */ +# define ialias_redirect(fn) \ + extern __typeof (fn) fn __asm__ ("gomp_ialias_" #fn) attribute_hidden; +ialias_redirect (omp_init_lock) +ialias_redirect (omp_init_nest_lock) +ialias_redirect (omp_destroy_lock) +ialias_redirect (omp_destroy_nest_lock) +ialias_redirect (omp_set_lock) +ialias_redirect (omp_set_nest_lock) +ialias_redirect (omp_unset_lock) +ialias_redirect (omp_unset_nest_lock) +ialias_redirect (omp_test_lock) +ialias_redirect (omp_test_nest_lock) +ialias_redirect (omp_set_dynamic) +ialias_redirect (omp_set_nested) +ialias_redirect (omp_set_num_threads) +ialias_redirect (omp_get_dynamic) +ialias_redirect (omp_get_nested) +ialias_redirect (omp_in_parallel) +ialias_redirect (omp_get_max_threads) +ialias_redirect (omp_get_num_procs) +ialias_redirect (omp_get_num_threads) +ialias_redirect (omp_get_thread_num) +ialias_redirect (omp_get_wtick) +ialias_redirect (omp_get_wtime) +#endif + void omp_init_lock_ (omp_lock_arg_t lock) { diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h index 4d106d7523f..37b07f16393 100644 --- a/libgomp/libgomp.h +++ b/libgomp/libgomp.h @@ -311,4 +311,18 @@ extern void gomp_work_share_end_nowait (void); #define _LIBGOMP_OMP_LOCK_DEFINED 1 #include "omp.h.in" +#ifdef HAVE_ATTRIBUTE_VISIBILITY +# define attribute_hidden __attribute__ ((visibility ("hidden"))) +#else +# define attribute_hidden +#endif + +#ifdef HAVE_ATTRIBUTE_ALIAS +# define ialias(fn) \ + extern __typeof (fn) gomp_ialias_##fn \ + __attribute__ ((alias (#fn))) attribute_hidden; +#else +# define ialias(fn) +#endif + #endif /* LIBGOMP_H */ diff --git a/libgomp/parallel.c b/libgomp/parallel.c index 2090dde0230..8f08cc36a02 100644 --- a/libgomp/parallel.c +++ b/libgomp/parallel.c @@ -119,3 +119,8 @@ int omp_in_parallel (void) return false; } + +ialias (omp_get_num_threads) +ialias (omp_get_max_threads) +ialias (omp_get_thread_num) +ialias (omp_in_parallel) -- 2.11.4.GIT