- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We've fixed this - I am hoping to see the fix in Update 1.

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