Subject: hpff-distribute: ASSUME directive proposal - erratum

From: Fabien COELHO <[email-masked]>
Date: Tue, 23 Jan 96 11:22:22 +0100

---------------------------------------------------------------------------
[email-masked] is a mailing list for discussion of data
distribution in High Performance Fortran.  Instructions for adding or
deleting yourself from this list appear at the bottom of this message.
---------------------------------------------------------------------------

> (2) the declaration is not important AND distinct descriptive mappings
>     => possible naming convention for compile/link-time handling
>        a` la C++, but disallow interesting use of the feature (D5/D6)...
> 
> (2) Other possible implementation, without constraint D1, but requiring
> constraint D4(a): the routine is rewritten as
> 
>        subroutine sub_"name_from_case(CASE X)"(...)
>        CASE X...
> 
> name_from_case should depend only on the descriptive mapping of
> arguments. This is how (C++) templates can be compiled in C++, as far as I
> remmeber. 

Well, I'm wrong. The analogy is with the management of C++ polymorphism
by simple linkers. The problem with C++ templates is to compile only once
the routines, and some compilers keep a database of already compiled
template instances to avoid several compilations. The polymorphism problem
is to differentiate int my_function(int) and int my_function(float), if
the linker does only want to know about the function name and not its
type. The suggested solution is to add some suffix which depends on
the function type, generating my_function_$#%$@ and my_function_43%$21 
so that the linker will be happy with different function names.

However I think that such techniques should not be necessary for an HPF
assume-like directive if care is taken in the definition of the
directive. 

Fabien.

--
Fabien COELHO __ http://www.cri.ensmp.fr/~coelho __ [email-masked]
  CRI, ENSMP, 35, rue Saint Honoré, 77305 Fontainebleau Cedex, France
     phone: 33 1 64 69 {voice: 48 52, fax: 47 09, standard: 47 08}
       ________  All opinions expressed here are mine  ________

---------------------------------------------------------------------------
To (un)subscribe to this list, send mail to
[email-masked].
Leave the subject line blank, and in the body put the line
(un)subscribe <email-address>
---------------------------------------------------------------------------