diff options
| author | Tobias Burnus <burnus@gcc.gnu.org> | 2007-07-05 14:51:51 +0200 |
|---|---|---|
| committer | Tobias Burnus <burnus@gcc.gnu.org> | 2007-07-05 14:51:51 +0200 |
| commit | 5349080dd3851ea98ac1c9c8bf24279a7cd3ca97 (patch) | |
| tree | 1281d63a921c00f8d91cb684061e182b7c459e18 /libgomp | |
| parent | 7e08fa357c2b918c28599f7d11dfc65165117de3 (diff) | |
| download | gcc-5349080dd3851ea98ac1c9c8bf24279a7cd3ca97.tar.gz gcc-5349080dd3851ea98ac1c9c8bf24279a7cd3ca97.tar.bz2 gcc-5349080dd3851ea98ac1c9c8bf24279a7cd3ca97.zip | |
re PR fortran/32359 (incorrect error: Threadprivate isn't SAVEd (implicit save attribute undefined))
gcc/fortran/
2007-07-05 Daniel Franke <franke.daniel@gmail.com>
Tobias Burnus <burnus@net-b.de>
PR fortran/32359
* gfortran.h (symbol_attribute): Change save attribute into an enum.
* decl.c (add_init_expr_to_sym): Set it to SAVE_IMPLICIT.
* symbol.c (gfc_add_save): Check for SAVE_EXPLICIT.
* resolve.c (resolve_fl_variable): Check for SAVE_EXPLICIT.
(resolve_symbol): Allow OMP threadprivate with
initialization SAVEd and save_all variable.
* trans-decl.c (gfc_finish_var_decl): Remove obsolete sym->value check.
libgomp/
2007-07-05 Tobias Burnus <burnus@net-b.de>
PR fortran/32359
* testsuite/libgomp.fortran/pr32359.f90: New.
gcc/testsuite/
2007-07-05 Tobias Burnus <burnus@net-b.de>
PR fortran/32359
* gfortran.dg/module_md5_1.f90: Update MD5 number.
From-SVN: r126366
Diffstat (limited to 'libgomp')
| -rw-r--r-- | libgomp/ChangeLog | 5 | ||||
| -rw-r--r-- | libgomp/testsuite/libgomp.fortran/pr32359.f90 | 34 |
2 files changed, 39 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index a9d1f5a40be..c8c1247ada5 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2007-07-05 Tobias Burnus <burnus@net-b.de> + + PR fortran/32359 + * testsuite/libgomp.fortran/pr32359.f90: New. + 2007-07-02 Jakub Jelinek <jakub@redhat.com> PR libgomp/32468 diff --git a/libgomp/testsuite/libgomp.fortran/pr32359.f90 b/libgomp/testsuite/libgomp.fortran/pr32359.f90 new file mode 100644 index 00000000000..e48a8a70406 --- /dev/null +++ b/libgomp/testsuite/libgomp.fortran/pr32359.f90 @@ -0,0 +1,34 @@ +! { dg-do compile } +! +! PR fortran/32359 +! Contributed by Bill Long <longb@cray.com> + +subroutine test + use omp_lib + implicit none + integer, parameter :: NT = 4 + integer :: a + save +!$omp threadprivate(a) + a = 1 + +!$ call omp_set_num_threads(NT) +!$omp parallel + print *, omp_get_thread_num(), a +!$omp end parallel + +end subroutine test + +! Derived from OpenMP test omp1/F2_6_2_8_5i.f90 + use omp_lib + implicit none + integer, parameter :: NT = 4 + integer :: a = 1 +!$omp threadprivate(a) + +!$ call omp_set_num_threads(NT) +!$omp parallel + print *, omp_get_thread_num(), a +!$omp end parallel + + END |
