- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Consider
Program bloky implicit none real :: t(2) t = 1.0 print *, t block real :: t((2) t = 2.0 end block print *, t end program
The Fortran works OK but the debugger thinks t is [2.0, 2.0] after the end block. Also if t was not declared outside the block the debugger still things it is valid both before and after the block. ( VS2013 Upd 5, Fortran XE2017 Upd 4)
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Additionally the size of t is redefined by the definition in the block so if it was shorter part if the array is then not accessible to the debugger or if it was longer the debugger is presumably looking at some junk location?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I created a complete reproducer and submitted this to our Debugger developers.
(Internal tracking id: DEBGGR-3091)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks, I would guess the issues all have the same root cause.

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