This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Implementing OpenACC's Fortran module


On Wed, 20 Aug 2014 00:57:53 +0200, I wrote:
> On Wed, 20 Aug 2014 00:05:22 +0200, Tobias Burnus <> wrote:
> > James Norris wrote:
> > > I think the files are ready for upstream submitting unless you can 
> > > think of other things
> > > that should done. Yes? No?
> > 
> > What do you mean by upstream? I assume gomp-4_0-branch and not yet GCC-5 
> > trunk.
> > 
> > I think the patch is fine for the gomp-4_0-branch.
> Good, thanks.

(Submission for trunk inclusion to follow "soon".)

> > If you want to go beyond dumping the file there, you should also edit 
> > the Makefile to install the .mod and .h file, and link the .o file.

Regarding linking the object file produced by Fortran openacc.f90 into
libgomp: (with the version that Jim already has internally checked in) I
find that libgomp then has undefined references to
_gfortran_internal_unpack and _gfortran_internal_pack.  How to solve
this?  Link libgomp against libgfortran?  (Not a suitable solution in my
opinion: every non-Fortran libgomp user doesn't want Fortran stuff linked
in.)  Link the object file into libgfortran instead of libgomp?  (Will
have undefined references to a lot of libgomp symbols, and don't want to
unconditionally link libgfortran against libgomp.)  Include weak
definitions for these two symbols in libgomp?  (Probably fragile?)  Avoid
need for these two symbols?  (Might not be possible, might be fragile?)
Is there a Fortran compilation mode so that instead of shipping this
object code in libgomp, it will be built "on the fly" from the
openacc.f90, and then included in a user's executable?  (Would not work
if a user uses the openacc_lib.h header file instead of the openacc.f90
module?)  Or, is it an option to build the object file form openacc.f90,
but not link it into libgomp, but instead install the non-PIC openacc.o
and PIC .libs/openacc.o into GCC's installation tree, and then have the
driver link in these files additionally to libgomp only if compiling for
Fortran?  Anything else?


Attachment: pgpuZ1keQ9Lwo.pgp
Description: PGP signature

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]