[Patch, Fortran] Create valid temporary variable to avoid assembler errors

Tobias Burnus burnus@net-b.de
Wed May 22 14:21:00 GMT 2013


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?

Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tmp-name.diff
Type: text/x-patch
Size: 548 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20130522/b3303271/attachment.bin>


More information about the Fortran mailing list