This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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: [patch, fortran] Add _gfortran_error_stop_numeric


On 05/14/2010 11:34 AM, Janne Blomqvist wrote:
On Fri, May 14, 2010 at 18:12, Jerry DeLisle<jvdelisle@verizon.net> wrote:
On 05/14/2010 07:57 AM, Steve Kargl wrote:

Well, there are plans to break ABI with the array desrciptor work.

I wonder, would it be feasible to avoid breaking the ABI by using access macros for descriptors and then generate both old and new descriptor functions?

Based on a quick look, the only function in the I/O library that uses
the descriptor is tranfer_array, so the problem is restricted to the
intrinsics, most of the intrinsics with array arguments are generated
from the m4 macros.

I believe we also use array descriptors for character array internal units.


  There's also the desire to reduce
the number of functions in the library with the
use of type casting in the front-end.

Yes. I think this would be one good candidate for that. I donÂt see much need for having stop codes> 2**31, and on POSIX the return code is between 0 and 256 in any case.

So, if you break the ABI, you need to bump the
library version number.  Janne, is the right?

The patch bumps the library version when adding the new error_stop_numeric
function.

No, it adds a new version node to the current major version. If you change the behavior or ABI of an existing function you need to bump the .so major version (in libgfortran/libtool-version IIRC).

OK, I await further guidance on what to do here.

  My question then is can we simply add duplicate names under this
new section in gfortran.map?  I am not clear on the correct way to do this.

AFAIK it's not possible in the map file only. In the source you can rename a symbol and thus have different functions that have the same symbol name but different versions.

OK, we all need to learn what to do here since we are going to be making a lot of changes I suspect. The stop and pause functions are pretty small so I have no issue with just creating new versions and leaving the originals untouched. This just not seem like it is very efficient, space wise.

jerry


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