Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29589 Discussões

Derived type constructor for extended types does not initialize all fields

bpichon
Principiante
2.795 Visualizações

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 Respostas
Steven_L_Intel1
Funcionário
2.795 Visualizações

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

bpichon
Principiante
2.795 Visualizações

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

bpichon
Principiante
2.795 Visualizações

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)

Steven_L_Intel1
Funcionário
2.795 Visualizações

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

Steven_L_Intel1
Funcionário
2.795 Visualizações

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

Responder