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

Allocatable Character Array Descriptor Change

Chris_D
Beginner
396 Views
I currently have a dll project that is called form a C++ program.
The current build is being done with version 8.1, and we are now migrating to the 11.x version.
In one of the exported interfaces we pass a data structure from C++ to Fortran
The structure contains many (20+) allocatable structures.
1D & 2D Arrays of Doubles, Characters & Integers
We have defined the fortran internal data descriptor on the C++ side.
http://www.intel.com/software/products/compilers/flin/docs/for_ug1/pgwarray.htm
Using version 8.1 everything works.
When using 11.x we had crash issues.
Upon investigation I found that the Character Array Descriptors have changed from 8.1 ro 11.x.
The developer that did the original FORTRAN array descriptor structure layout in C++
commented that for the character array the number of dimension structures contained in
the array descriptor is the number of dimensions + 1 (5th longword of array descriptor)
ex: a 1D Character array contains 2 dimension structures

When I recompiled using 11.0.74
It appears that Allocatable Character Arrays no longer have the extra dimension structure.

Can you confirm this difference? I want to make sure this is correct before relying on it.


Thanks
Chris





0 Kudos
1 Reply
Steven_L_Intel1
Employee
396 Views
I believe that was a bug in 11.0. It doesn't do that in 11.1.
0 Kudos
Reply