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

ifort compile-time error: using atomic subroutines with a coarray component within an extented type

Michael_S_17
New Contributor I
1,009 Views

I did just file a ticket via the Intel Online Service Center at https://supporttickets.intel.com/ for this:

program Main
! ifort compile-time error when using atomic subroutines with a coarray component within an extented type
! OS: Linux Ubuntu 18.04.5 LTS
! compiler: ifort version 2021.1 Beta (usage: command line)
! installed through Intel oneAPI beta version:
! - l_BaseKit_b_2021.1.8.1970_offline
! - l_HPCKit_b_2021.1.8.1883_offline
! compile: ifort -diag-disable 5462 -coarray -coarray-num-images=5 Testing_extends_with_atomic_define.f90 -o a.out
end program Main


module clsSyncBase
use, intrinsic :: iso_fortran_env, only: atomic_int_kind
implicit none
private
!
type, abstract, public :: objSyncBase
  private
  integer(atomic_int_kind), public, codimension[:], allocatable :: m_atomic_intSyncBase_CC
contains
  private
end type objSyncBase
!
contains
!
end module clsSyncBase


module clsEventScalarSync
use clsSyncBase
use, intrinsic :: iso_fortran_env, only: atomic_int_kind
implicit none
private
!
!type, abstract, public :: objEventScalarSync !this works
type, extends(objSyncBase), abstract, public :: objEventScalarSync !extends is the first cause of the compile-time error
  private
  integer(atomic_int_kind), public, codimension[:], dimension (:), allocatable :: mA_atomic_intEventSyncStatus_CC
contains
  private
  procedure, public :: Set_atomic_intEventSyncStatus_CC => Set_atomic_intEventSyncStatus_CC
end type objEventScalarSync
!
contains
!
subroutine Set_atomic_intEventSyncStatus_CC (Object)
  class (objEventScalarSync), intent (inout) :: Object
      call atomic_define (Object % mA_atomic_intEventSyncStatus_CC(1) [this_image()], 123) !second cause of the compile-time error
end subroutine Set_atomic_intEventSyncStatus_CC
!
end module clsEventScalarSync
0 Kudos
6 Replies
Michael_S_17
New Contributor I
1,004 Views

This error occurs when calling an atomic subroutine with a coarray component of an extented type. Without the EXTENDS keyword no error occurs.

Maybe I should add the compile time error messages:

ifort -diag-disable 5462 -coarray -coarray-num-images=5 Testing_extends_with_atomic_define.f90 -o a.out
Testing_extends_with_atomic_define.f90(49): error #6460: This is not a component name that is defined in the encompassing structure. [MA_ATOMIC_INTEVENTSYNCSTATUS_CC]
call atomic_define (Object % mA_atomic_intEventSyncStatus_CC(1) [this_image()], 123) !second cause of the compile-time error
-----------------------------------^
Testing_extends_with_atomic_define.f90(49): error #8363: An entity is not a coarray.
call atomic_define (Object % mA_atomic_intEventSyncStatus_CC(1) [this_image()], 123) !second cause of the compile-time error
-----------------------------------^
Testing_extends_with_atomic_define.f90(49): error #6158: The structure-name is invalid or is missing. [OBJECT]
call atomic_define (Object % mA_atomic_intEventSyncStatus_CC(1) [this_image()], 123) !second cause of the compile-time error
--------------------------^
Testing_extends_with_atomic_define.f90(49): error #6362: The data types of the argument(s) are invalid. [ATOMIC_DEFINE]
call atomic_define (Object % mA_atomic_intEventSyncStatus_CC(1) [this_image()], 123) !second cause of the compile-time error
--------------------------^
Testing_extends_with_atomic_define.f90(49): error #8583: ATOM argument of ATOMIC intrinsic subroutines must be a coarray.
call atomic_define (Object % mA_atomic_intEventSyncStatus_CC(1) [this_image()], 123) !second cause of the compile-time error
--------------------------^
compilation aborted for Testing_extends_with_atomic_define.f90 (code 1)

0 Kudos
Michael_S_17
New Contributor I
982 Views

| I did just file a ticket via the Intel Online Service Center at https://supporttickets.intel.com/ for this

The ticket has already been closed because I don't have a supported product associated with my account. Thus, I think the post here is the best way to submit this issue from my Beta-testing with ifort?

cheers

0 Kudos
Michael_S_17
New Contributor I
974 Views

Ok, I did use the beta08 for my testing but meanwhile the beta09 is out. So I will check this again with the new beta09.

cheers

0 Kudos
Michael_S_17
New Contributor I
958 Views

I did just test with the latest beta09 installed, l_BaseKit_b_2021.1.9.2195_offline and l_HPCKit_b_2021.1.9.2205_offline. Ifort version is still 2021.1 Beta: The compile time errors remain.

The code compiles if I don't use EXTENDS or without the call to ATOMIC_DEFINE. It's certainly a bug.

0 Kudos
Ron_Green
Moderator
938 Views
Ron_Green
Moderator
918 Views

Bug ID is CMPLRIL0-33285


0 Kudos
Reply