- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I recently changed a 32bit build to a 64bit build. In most instances everything works fine due to judicious use of properly defined integer kinds. I am still finding one or two more subtle bugs. Is there a compiler warning where an i8 result is assigned to an i4 variable? That would be useful for finding a certain class of potential bug. I had a hunt for an option but didn't find it. I today found I had an SDK routine that now has an i8 return value and in some cases it was bashed into an i4 variable. This worked ok in many cases but in some cases caused logic bugs.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately, there is no such warning available in Intel Fortran.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Andrew, please try the options -Wall, -Wconversion and -Wconversion-extra in GFortran.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the feedback Guys, knowing the option does not exits in ifort is very helpful as searching for Unicorns is not productive. -Wconversion-extra in gfortran is proving most useful as whilst is has thrown up a whole list of stuff that is not relevant or important it has shown some items that do need attention. Steve (font of all such knowledge), has such an option been considered/rejected at intel in the past do you know?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
DVF/CVF had run-time integer overflow checking, supported by DEC's code generator. The Intel code generator didn't support this and requests to add it were denied. It may be that the new LLVM-based code generator has that available already (I don't know) and if so, it could be added to the compiler.
A general warning on assignment of a larger type to a smaller one would go under a "usage" diagnostic option I requested during my time at Intel. I think it would be a promising idea, but I'm not aware that there is an active feature request for it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is where using 2 or more compilers on one's codebase - if feasible - really helps.
I believe the static analyzer in GCC/gfortran will warn you of such instances as might others e.g., NAG?

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