Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29588 Discussions

Derived type constructor for extended types does not initialize all fields

bpichon
Beginner
2,778 Views

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)

0 Kudos
5 Replies
Steven_L_Intel1
Employee
2,778 Views

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

0 Kudos
bpichon
Beginner
2,778 Views

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 ??

0 Kudos
bpichon
Beginner
2,778 Views

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)

0 Kudos
Steven_L_Intel1
Employee
2,778 Views

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

0 Kudos
Steven_L_Intel1
Employee
2,778 Views

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

0 Kudos
Reply