- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Parallel Studio XE 2017 update 1
When compiling:
# ifndef matrix_algebra_F90
# define matrix_algebra_F90
module matrix_algebra
implicit none
integer,parameter::x_=8
type::matrix(size)
integer,len::size
complex(kind=x_)::component(0:size,0:size)
contains
procedure,private::initialize_matrix
end type matrix
interface matrix
module procedure matrix_source_constructor
end interface matrix
contains
subroutine initialize_matrix(this,source)
implicit none
class(matrix(*))::this
complex(kind=x_),intent(in),optional::source(0:this%size,0:this%size)
if(present(source)) then
this%component=source
else
this%component=(0.0_x_,0.0_x_)
end if!present(source)
end subroutine initialize_matrix!this,source
function matrix_source_constructor(source) result(that)
implicit none
complex(kind=x_),intent(in),optional::source(0:,0:) ! Internal error if deferred size
type(matrix(size(source)-1))::that
call that%initialize_matrix(source)
end function matrix_source_constructor!source
end module matrix_algebra
# endif
I get:
internal_errors.F90(42): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
type(matrix(size(source)-1))::that
^
[ Aborting due to internal error. ]
compilation aborted for internal_errors.F90 (code 1)
The error disappears if I declare the dummy variable source with fixed size instead of deferred like above.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for reporting the issue. I have reproduced the error and escalated it to developers for fixing. The bug ID is DPD200416910.
Thanks,
Xiaoping Duan
Intel Customer Support
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