Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29281 Discussions

Debugging derived types Composer 15.0 in VS2010

A__Valle
Beginner
813 Views

Dear all,

When debugging an extended type that gets the base type form another module, The VS2010 integration gives a syntax error, see the following screenshot

DerivedTypeDebugging.png

The type is defined as follows:

TYPE, EXTENDS(SL_CaseType) :: SLNK_CaseType

Is there are workaround present to see the contents of the extended type in VS2010?

Regards,

Dirk

0 Kudos
5 Replies
Lorri_M_Intel
Employee
813 Views

That looks like a bug.

Is SL_CaseType declared as Private?

Is there anything else you can share about the characteristics of SLNK_CaseType or SL_CaseType so we can reproduce it here?

        thanks -

                    --Lorri

0 Kudos
A__Valle
Beginner
813 Views

Simple Reproducer, set breakpoint at appropriate location:

Module BaseTypeMod

  Implicit None
  Private

  TYPE, PUBLIC :: SL_CaseType
    INTEGER :: CaseID
  ENDTYPE SL_CaseType
  End Module
  
  MODULE DerivedTypeMod
  
  USE BaseTypeMod, ONLY: SL_CaseType
  
  Implicit None
  Private
  
  PUBLIC  :: SLNK_CaseType
  

  TYPE, EXTENDS(SL_CaseType) :: SLNK_CaseType
    LOGICAL :: IsInitialized = .false.
  ENDTYPE

  End Module

  program Ptest

  USE DerivedTypeMod, ONLY: SLNK_CaseType
  implicit none


  Type(SLNK_CaseType) :: SLNK_Case
  ! Body of Ptest
  print *, 'Start of Test'

  print *, SLNK_Case%IsInitialized

  print *, 'End of Test'

  end program Ptest

 

0 Kudos
A__Valle
Beginner
813 Views

It works well when using the following, example, but the syntax error is returning if:

- Or Private in the DerivedTypeMod is uncommented

- Or the DerivedTypeMod is not fully used, but only the SL_CaseType from that mod.

Module BaseTypeMod

  Implicit None
  Private

  TYPE, PUBLIC :: SL_CaseType
    INTEGER :: CaseID
  ENDTYPE SL_CaseType

  End Module
  
  
  MODULE DerivedTypeMod
  USE BaseTypeMod, ONLY: SL_CaseType
  
  Implicit None
  !Private
  
  TYPE, PUBLIC, EXTENDS(SL_CaseType) :: SLNK_CaseType
    LOGICAL :: IsInitialized = .false.
  ENDTYPE

  End Module

  
  program Ptest
  USE DerivedTypeMod
!  USE DerivedTypeMod, ONLY: SLNK_CaseType
  implicit none

  Type(SLNK_CaseType) :: SLNK_Case

  print *, 'Start of Test'
  print *, SLNK_Case%IsInitialized
  print *, 'End of Test'

  end program Ptest

 

0 Kudos
Steven_L_Intel1
Employee
813 Views

Thanks - I can reproduce this. Escalated as issue DPD200361156. I note that it works in 14.0 - probably related to improvements we tried to make in extended type debugging.

0 Kudos
Steven_L_Intel1
Employee
813 Views

We've fixed this - I am hoping to see the fix in Update 1.

0 Kudos
Reply