Derived type constructor for extended types does not initialize all fields

Derived type constructor for extended types does not initialize all fields

Dear Fortran,

I have some derived types, types extended from a root (astract) type.

I define (scalar) variables using their constructors.

When the type is "simple" types (e.g. Point_2D : real :: x, y) it is Ok

But, when the type is more complicated (e.g. Circle : Point_2D and real :: radius)

  the field radius is not intialized.

More strange (see output file) if the type is like ( Rectangle : Point_2D , real: h,w) the

 h-field is initialized with the value of w-field and, therefore, w_fild not initialized

See details and program in attached files.

(Of course, if the fields are defined field by field it is Ok but more tedious to do)

6 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

The source you attached has several errors and won't compile.  Please fix these errors and attach again.

Steve - Intel Developer Support

Oupps !!

Sorry, here is the good one ...

Bernard

Pour compiler version is : ifort (IFORT) 13.1.0 20130121

Is the a.out useful for you ??

Anlagen: 

AnhangGröße
Herunterladen dataobject-2.f903.17 KB

This line is not beautiful : Type(Point_3D) :: P3 = POINT_3D(12.0,13,100.0)

I prefer ;  Type(Point_3D) :: P3 = POINT_3D(12.0,13.0,100.0)

Thanks - I can reproduce the problem and have escalated it as issue DPD200241863. I will let you know of any progress.

Steve - Intel Developer Support

This problem has been fixed for a release later this year.

Steve - Intel Developer Support

Kommentar hinterlassen

Bitte anmelden, um einen Kommentar hinzuzufügen. Sie sind noch nicht Mitglied? Jetzt teilnehmen