diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-06-06 20:39:46 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-06-06 20:39:46 +0000 |
commit | e97da9acca05b56be99bfd9abd8b83e5db5268fb (patch) | |
tree | fcab715a6c79d738a81d753254714e02889ad105 /libgomp/fortran.c | |
parent | 76d6e5e429f5ca1ba89341e4fd3cbd5f4a6f055f (diff) | |
download | gcc-e97da9acca05b56be99bfd9abd8b83e5db5268fb.tar.gz |
2008-06-06 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r136492
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@136504 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgomp/fortran.c')
-rw-r--r-- | libgomp/fortran.c | 269 |
1 files changed, 236 insertions, 33 deletions
diff --git a/libgomp/fortran.c b/libgomp/fortran.c index f6f64c61be2..1e20aea28ee 100644 --- a/libgomp/fortran.c +++ b/libgomp/fortran.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. Contributed by Jakub Jelinek <jakub@redhat.com>. This file is part of the GNU OpenMP Library (libgomp). @@ -33,11 +33,12 @@ #ifdef HAVE_ATTRIBUTE_ALIAS /* Use internal aliases if possible. */ -#define ULP STR1(__USER_LABEL_PREFIX__) -#define STR1(x) STR2(x) -#define STR2(x) #x +# define ULP STR1(__USER_LABEL_PREFIX__) +# define STR1(x) STR2(x) +# define STR2(x) #x # define ialias_redirect(fn) \ extern __typeof (fn) fn __asm__ (ULP "gomp_ialias_" #fn) attribute_hidden; +# ifndef LIBGOMP_GNU_SYMBOL_VERSIONING ialias_redirect (omp_init_lock) ialias_redirect (omp_init_nest_lock) ialias_redirect (omp_destroy_lock) @@ -48,6 +49,7 @@ ialias_redirect (omp_unset_lock) ialias_redirect (omp_unset_nest_lock) ialias_redirect (omp_test_lock) ialias_redirect (omp_test_nest_lock) +# endif ialias_redirect (omp_set_dynamic) ialias_redirect (omp_set_nested) ialias_redirect (omp_set_num_threads) @@ -60,30 +62,52 @@ ialias_redirect (omp_get_num_threads) ialias_redirect (omp_get_thread_num) ialias_redirect (omp_get_wtick) ialias_redirect (omp_get_wtime) -#endif +ialias_redirect (omp_set_schedule) +ialias_redirect (omp_get_schedule) +ialias_redirect (omp_get_thread_limit) +ialias_redirect (omp_set_max_active_levels) +ialias_redirect (omp_get_max_active_levels) +ialias_redirect (omp_get_level) +ialias_redirect (omp_get_ancestor_thread_num) +ialias_redirect (omp_get_team_size) +ialias_redirect (omp_get_active_level) +#endif + +#ifndef LIBGOMP_GNU_SYMBOL_VERSIONING +# define gomp_init_lock__30 omp_init_lock_ +# define gomp_destroy_lock__30 omp_destroy_lock_ +# define gomp_set_lock__30 omp_set_lock_ +# define gomp_unset_lock__30 omp_unset_lock_ +# define gomp_test_lock__30 omp_test_lock_ +# define gomp_init_nest_lock__30 omp_init_nest_lock_ +# define gomp_destroy_nest_lock__30 omp_destroy_nest_lock_ +# define gomp_set_nest_lock__30 omp_set_nest_lock_ +# define gomp_unset_nest_lock__30 omp_unset_nest_lock_ +# define gomp_test_nest_lock__30 omp_test_nest_lock_ +#endif void -omp_init_lock_ (omp_lock_arg_t lock) +gomp_init_lock__30 (omp_lock_arg_t lock) { #ifndef OMP_LOCK_DIRECT omp_lock_arg (lock) = malloc (sizeof (omp_lock_t)); #endif - omp_init_lock (omp_lock_arg (lock)); + gomp_init_lock_30 (omp_lock_arg (lock)); } void -omp_init_nest_lock_ (omp_nest_lock_arg_t lock) +gomp_init_nest_lock__30 (omp_nest_lock_arg_t lock) { #ifndef OMP_NEST_LOCK_DIRECT omp_nest_lock_arg (lock) = malloc (sizeof (omp_nest_lock_t)); #endif - omp_init_nest_lock (omp_nest_lock_arg (lock)); + gomp_init_nest_lock_30 (omp_nest_lock_arg (lock)); } void -omp_destroy_lock_ (omp_lock_arg_t lock) +gomp_destroy_lock__30 (omp_lock_arg_t lock) { - omp_destroy_lock (omp_lock_arg (lock)); + gomp_destroy_lock_30 (omp_lock_arg (lock)); #ifndef OMP_LOCK_DIRECT free (omp_lock_arg (lock)); omp_lock_arg (lock) = NULL; @@ -91,9 +115,9 @@ omp_destroy_lock_ (omp_lock_arg_t lock) } void -omp_destroy_nest_lock_ (omp_nest_lock_arg_t lock) +gomp_destroy_nest_lock__30 (omp_nest_lock_arg_t lock) { - omp_destroy_nest_lock (omp_nest_lock_arg (lock)); + gomp_destroy_nest_lock_30 (omp_nest_lock_arg (lock)); #ifndef OMP_NEST_LOCK_DIRECT free (omp_nest_lock_arg (lock)); omp_nest_lock_arg (lock) = NULL; @@ -101,30 +125,129 @@ omp_destroy_nest_lock_ (omp_nest_lock_arg_t lock) } void -omp_set_lock_ (omp_lock_arg_t lock) +gomp_set_lock__30 (omp_lock_arg_t lock) +{ + gomp_set_lock_30 (omp_lock_arg (lock)); +} + +void +gomp_set_nest_lock__30 (omp_nest_lock_arg_t lock) { - omp_set_lock (omp_lock_arg (lock)); + gomp_set_nest_lock_30 (omp_nest_lock_arg (lock)); } void -omp_set_nest_lock_ (omp_nest_lock_arg_t lock) +gomp_unset_lock__30 (omp_lock_arg_t lock) { - omp_set_nest_lock (omp_nest_lock_arg (lock)); + gomp_unset_lock_30 (omp_lock_arg (lock)); } void -omp_unset_lock_ (omp_lock_arg_t lock) +gomp_unset_nest_lock__30 (omp_nest_lock_arg_t lock) +{ + gomp_unset_nest_lock_30 (omp_nest_lock_arg (lock)); +} + +int32_t +gomp_test_lock__30 (omp_lock_arg_t lock) +{ + return gomp_test_lock_30 (omp_lock_arg (lock)); +} + +int32_t +gomp_test_nest_lock__30 (omp_nest_lock_arg_t lock) { - omp_unset_lock (omp_lock_arg (lock)); + return gomp_test_nest_lock_30 (omp_nest_lock_arg (lock)); } +#ifdef LIBGOMP_GNU_SYMBOL_VERSIONING void -omp_unset_nest_lock_ (omp_nest_lock_arg_t lock) +gomp_init_lock__25 (omp_lock_25_arg_t lock) { - omp_unset_nest_lock (omp_nest_lock_arg (lock)); +#ifndef OMP_LOCK_25_DIRECT + omp_lock_25_arg (lock) = malloc (sizeof (omp_lock_25_t)); +#endif + gomp_init_lock_25 (omp_lock_25_arg (lock)); +} + +void +gomp_init_nest_lock__25 (omp_nest_lock_25_arg_t lock) +{ +#ifndef OMP_NEST_LOCK_25_DIRECT + omp_nest_lock_25_arg (lock) = malloc (sizeof (omp_nest_lock_25_t)); +#endif + gomp_init_nest_lock_25 (omp_nest_lock_25_arg (lock)); +} + +void +gomp_destroy_lock__25 (omp_lock_25_arg_t lock) +{ + gomp_destroy_lock_25 (omp_lock_25_arg (lock)); +#ifndef OMP_LOCK_25_DIRECT + free (omp_lock_25_arg (lock)); + omp_lock_25_arg (lock) = NULL; +#endif +} + +void +gomp_destroy_nest_lock__25 (omp_nest_lock_25_arg_t lock) +{ + gomp_destroy_nest_lock_25 (omp_nest_lock_25_arg (lock)); +#ifndef OMP_NEST_LOCK_25_DIRECT + free (omp_nest_lock_25_arg (lock)); + omp_nest_lock_25_arg (lock) = NULL; +#endif } void +gomp_set_lock__25 (omp_lock_25_arg_t lock) +{ + gomp_set_lock_25 (omp_lock_25_arg (lock)); +} + +void +gomp_set_nest_lock__25 (omp_nest_lock_25_arg_t lock) +{ + gomp_set_nest_lock_25 (omp_nest_lock_25_arg (lock)); +} + +void +gomp_unset_lock__25 (omp_lock_25_arg_t lock) +{ + gomp_unset_lock_25 (omp_lock_25_arg (lock)); +} + +void +gomp_unset_nest_lock__25 (omp_nest_lock_25_arg_t lock) +{ + gomp_unset_nest_lock_25 (omp_nest_lock_25_arg (lock)); +} + +int32_t +gomp_test_lock__25 (omp_lock_25_arg_t lock) +{ + return gomp_test_lock_25 (omp_lock_25_arg (lock)); +} + +int32_t +gomp_test_nest_lock__25 (omp_nest_lock_25_arg_t lock) +{ + return gomp_test_nest_lock_25 (omp_nest_lock_25_arg (lock)); +} + +omp_lock_symver (omp_init_lock_) +omp_lock_symver (omp_destroy_lock_) +omp_lock_symver (omp_set_lock_) +omp_lock_symver (omp_unset_lock_) +omp_lock_symver (omp_test_lock_) +omp_lock_symver (omp_init_nest_lock_) +omp_lock_symver (omp_destroy_nest_lock_) +omp_lock_symver (omp_set_nest_lock_) +omp_lock_symver (omp_unset_nest_lock_) +omp_lock_symver (omp_test_nest_lock_) +#endif + +void omp_set_dynamic_ (const int32_t *set) { omp_set_dynamic (*set); @@ -179,12 +302,6 @@ omp_in_parallel_ (void) } int32_t -omp_test_lock_ (omp_lock_arg_t lock) -{ - return omp_test_lock (omp_lock_arg (lock)); -} - -int32_t omp_get_max_threads_ (void) { return omp_get_max_threads (); @@ -208,12 +325,6 @@ omp_get_thread_num_ (void) return omp_get_thread_num (); } -int32_t -omp_test_nest_lock_ (omp_nest_lock_arg_t lock) -{ - return omp_test_nest_lock (omp_nest_lock_arg (lock)); -} - double omp_get_wtick_ (void) { @@ -225,3 +336,95 @@ omp_get_wtime_ (void) { return omp_get_wtime (); } + +void +omp_set_schedule_ (const int32_t *kind, const int32_t *modifier) +{ + omp_set_schedule (*kind, *modifier); +} + +void +omp_set_schedule_8_ (const int32_t *kind, const int64_t *modifier) +{ + omp_set_schedule (*kind, *modifier); +} + +void +omp_get_schedule_ (int32_t *kind, int32_t *modifier) +{ + omp_sched_t k; + int m; + omp_get_schedule (&k, &m); + *kind = k; + *modifier = m; +} + +void +omp_get_schedule_8_ (int32_t *kind, int64_t *modifier) +{ + omp_sched_t k; + int m; + omp_get_schedule (&k, &m); + *kind = k; + *modifier = m; +} + +int32_t +omp_get_thread_limit_ (void) +{ + return omp_get_thread_limit (); +} + +void +omp_set_max_active_levels_ (const int32_t *levels) +{ + omp_set_max_active_levels (*levels); +} + +void +omp_set_max_active_levels_8_ (const int64_t *levels) +{ + omp_set_max_active_levels (*levels); +} + +int32_t +omp_get_max_active_levels_ (void) +{ + return omp_get_max_active_levels (); +} + +int32_t +omp_get_level_ (void) +{ + return omp_get_level (); +} + +int32_t +omp_get_ancestor_thread_num_ (const int32_t *level) +{ + return omp_get_ancestor_thread_num (*level); +} + +int32_t +omp_get_ancestor_thread_num_8_ (const int64_t *level) +{ + return omp_get_ancestor_thread_num (*level); +} + +int32_t +omp_get_team_size_ (const int32_t *level) +{ + return omp_get_team_size (*level); +} + +int32_t +omp_get_team_size_8_ (const int64_t *level) +{ + return omp_get_team_size (*level); +} + +int32_t +omp_get_active_level_ (void) +{ + return omp_get_active_level (); +} |