2012/10/4 Tobias Burnus <bur...@net-b.de>:
> Thanks for the suggestions. The attached patch changes all "."-something
> symbol names, which I found.
>
> Build and regtested on x86-64-gnu-linux.
> OK for the trunk and 4.7? (".saved_dovar" also occurs in 4.6; we could also
> backport that part to 4.6, but I am not sure whether it is needed.)

I think at least for trunk it should be ok.


> We probably should also bump the .mod version (and timely also commit the
> patch http://gcc.gnu.org/ml/fortran/2012-04/msg00033.html).

Strong agreement here :)


> Comments?

When backporting to 4.6 and 4.7, do you intend to also bump the module
version there? Does that make sense?

Moreover, ".__result" probably goes back even further than 4.6, right?

Cheers,
Janus



> Am 04.10.2012 01:07, schrieb David Edelsohn:
>
>> For C and C++, identifiers beginning with underscore and upper case
>> letter or with two underscores are reserve to the implementation.  C++
>> uses _Z for mangling.
>>
>> Maybe Fortran could prepend "_F".  Something beginning with an
>> underscore seems like a much better choice, given the rules about
>> reserved identifiers.
>>
>> Thanks, David
>>
>> On Wed, Oct 3, 2012 at 5:00 PM, Tobias Burnus <bur...@net-b.de> wrote:
>>>
>>> David,
>>>
>>>
>>> David Edelsohn wrote:
>>>>
>>>> I am not sure why you chose a period and how best to correct this.
>>>
>>>
>>> Well, in principle any name which the user cannot enter would do. (Not
>>> enter: At least not as valid Fortran identifier.)
>>>
>>> The reason for choosing "." is that <dot><var_name> is used elsewhere in
>>> gfortran for such identifier for the string-length variable belonging to
>>> <var_name>, e.g. "._result" in trans-decl.c. I assume the reason that it
>>> didn't pop up with those is that those are local variables, but I
>>> wouldn't
>>> be surprised if it would break elsewhere.
>>>
>>> I wonder whether "@" would work, otherwise, one could also use "_". The
>>> only
>>> other problem is that it will break the ABI. On the other hand, it's a
>>> rather new feature and if we bump the .mod version number, the chance
>>> that
>>> one effectively forces the user to re-compile is rather high. So far we
>>> always bumped the .mod version number as something changed. There are
>>> also
>>> some other patches pending which effectively lead to a bump in the .mod
>>> version.
>>>
>>> (The .mod version won't affect code which doesn't use modules such as
>>> BLAS/LAPACK or any Fortran 66/77 code, but those won't be affected by the
>>> ABI change anyway as there the name doesn't propagate as it does with
>>> modules..)
>>>
>>>
>>> Thanks for investigating the test-suite failure.
>>>
>>> Tobias
>
>

Reply via email to