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] Create valid temporary variable to avoid assembler errors


On Wed, May 22, 2013 at 4:20 PM, Tobias Burnus wrote:
> With one Fortran file, I get the following assembler errors:
>
> /tmp/cc28epKK.s:2075: Error: junk `@1.2304+16' after expression
>
> That's due to the way a temporary variable is generated. While that variable
> is local to the procedure, the name somehow escapes into the assembler file.
> The dump looks as follows.
>
>   static struct foo DA@0;
>   static struct universal DA@1;
>   static struct universal DA@2;
> ...
>     class.30._data = &DA@0.foo_parent.universal.counter;
>
> I have now changed the mangling, see attached patch. (The test file uses
> finalization - hence, I do not include it into the patch. I will include it
> in the FINAL patch.)
>
> Build and regtested on x86-64-gnu-linux.
> OK for the trunk?

Hm, DA_F_0 is a valid variable name. So can't your patch cause clashes
with user names?

Ciao!
Steven


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