[Patch, Fortran, OOP] PR 46313: OOP-ABI issue, ALLOCATE issue, CLASS renaming issue

Janus Weil janus@gcc.gnu.org
Sat Nov 6 21:23:00 GMT 2010


Hi Thomas,

>> The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk?
>
> If we are going to change the naming of the OOP stuff anyway, what about
> the possible name collisions with -fdollar-ok ?

uh, good point. To be honest I wasn't even aware of this flag ...


> Should we put in an underscore, an at sign etc. or should we decide that
> anybody who creates a name collision like that with a non-standard
> extension deserves to lose?

Well, I can image that someone using a flag called '-fdollar-ok' would
expect that it's ok to use dollar signs without running into trouble.

So, yes, since we're about to change the naming anyway, I think we
should get rid of the dollars. Throwing in @s instead is fine with me,
or is there a downside to this choice, too?

I think the underscore is not an option, since it can also be used in
standard variable names, right?

Cheers,
Janus



> Test case:
>
> ig25@linux-fd1f:~/Krempel/Class> cat class.f90
> program main
>  type :: dt
>     ! ...
>  end type dt
>  class(dt), pointer :: cp
> contains
>  subroutine vtab$dt
>  end subroutine vtab$dt
> end program main
> ig25@linux-fd1f:~/Krempel/Class> gfortran -fdollar-ok class.f90
> class.f90:7.20:
>
>  subroutine vtab$dt
>                    1
> Error: VARIABLE attribute of 'vtab$dt' conflicts with PROCEDURE
> attribute at (1)
> class.f90:8.5:
>
>  end subroutine vtab$dt
>     1
> Error: Expecting END PROGRAM statement at (1)
>
>
>



More information about the Fortran mailing list