This is the mail archive of the
mailing list for the GNU Fortran project.
Re: gomp - equivalence for threadprivate data
- From: Matevz Tadel <matevz dot tadel at cern dot ch>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: <tprince at computer dot org>, <fortran at gcc dot gnu dot org>, Federico Carminati <Federico dot Carminati at cern dot ch>
- Date: Tue, 10 Feb 2009 16:59:15 +0100
- Subject: Re: gomp - equivalence for threadprivate data
- References: <4978C9D1.firstname.lastname@example.org> <8CB4AE9C6EE8526-3E4-A21@WEBMAIL-DF05.sysops.aol.com> <497D8C8E.email@example.com> <497DB94C.firstname.lastname@example.org> <497DBCCD.email@example.com> <497DEA90.firstname.lastname@example.org> <497DF1D5.email@example.com> <497DF9FA.firstname.lastname@example.org> <497E0655.email@example.com> <497EF90A.firstname.lastname@example.org> <497EFD01.email@example.com>
Tobias Burnus wrote:
Matevz Tadel wrote:
You can try the following patch (completely untested).
First, thank you all for taking interest in this.
I filled a bugreport (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38979)
to track this.
Tobias wrote in the comment to the bug report that simply removing the
error might already be enough.
If you can point us to the place where this error is generated we can
test if disabling it (or changing it to a warning) produces the
--- gcc/fortran/symbol.c (revision 143664)
+++ gcc/fortran/symbol.c (working copy)
@@ -477,7 +477,6 @@
conf (in_equivalence, result);
conf (in_equivalence, entry);
conf (in_equivalence, allocatable);
- conf (in_equivalence, threadprivate);
conf (in_namelist, pointer);
conf (in_namelist, allocatable);
We got GEANT3 working in parallel mode. In fact there was much more work with
the surrounding c++ code.
Equivalence with common members works ok.
There is a problem for saved varibales - there the equivalence does not work.
One has two options:
1. Remove the equivalence statements and replace the aliases in the code.
2. Create a "local" common block with the saved variables. If the variables
were initialized via data statements one has to take care of that at the
first entry into the routine.
Thank you all for your help! Please let us know if there's anything we can do to
help getting this extension into the gcc repository.