- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
the Fortran 2008 feature of pointer rank remapping with a target that
has rank greater than 1 is not diagnosed when -stand f03 is specified:
% ifort ifort_pointer_assign.f90 -stand f03 -standard-semantics -warn all
(No warning produced)
% ifort -V
Intel Fortran Compiler XE for applications running on IA-32, Version 12.1.1.256 Build 20111011
the Fortran 2008 feature of pointer rank remapping with a target that
has rank greater than 1 is not diagnosed when -stand f03 is specified:
[fortran]program ifort_pointer_assign implicit none integer, parameter :: n1 = 2, n2 = 3 integer, target :: base(n1,n2) integer, pointer :: j(:) base = 0 j(1:n1*n2) => base(:,:) ! F2008 feature! print *, j(n1*n2) end program ifort_pointer_assign [/fortran]
% ifort ifort_pointer_assign.f90 -stand f03 -standard-semantics -warn all
(No warning produced)
% ifort -V
Intel Fortran Compiler XE for applications running on IA-32, Version 12.1.1.256 Build 20111011
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nice catch. Thanks for pointing this out to us. I have let the developers know - the issue ID is DPD200176779.
For those who care, the relevant constraints are F2003 C720 and F2008 C718.
For those who care, the relevant constraints are F2003 C720 and F2008 C718.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This has been fixed for a future product release.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve,
>>j(1:n1*n2)=>base(:,:)!F2008feature!
This looks like a great feature and like you can eliminate convoluted TRANSFER statements.
What happens when the target is a DUMMY argument from a call using assumed shape with a stride other than 1 (of an array that had stride 1). IOW Dummy represents a logically contiguous array that isnon-contiguous in physical memory.
Jim
>>j(1:n1*n2)=>base(:,:)!F2008feature!
This looks like a great feature and like you can eliminate convoluted TRANSFER statements.
What happens when the target is a DUMMY argument from a call using assumed shape with a stride other than 1 (of an array that had stride 1). IOW Dummy represents a logically contiguous array that isnon-contiguous in physical memory.
Jim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jim, it should work just fine. The compiler will need to generate code to compute the new strides, that's all.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page