- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Same code, same compiler settings, one compiled with /check:uninit, one not.
Different results (sometimes quite different).
Is this expected? Does /check:uninit cause some different libarary to be used?
Release configuration:
/nologo /assume:buffered_io /real_size:64 /names:lowercase /module:"Release" /object:"Release" /traceback /check:uninit /c
/QPrec
Linda
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That should turn up problems?
And if it doesn't?
Linda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
so, theoretically the runs should produce the same results with and without /check:uninit (all other things being equal)
I added check allocate/pointers to the compile and am working through some problems found (compile time is sloooooow :-) but wanted to check the above (results the same) while I'm working through those.
Linda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nice in theory, doesn't seem to be holding up in practice. Spent most of two days running through issues identified with adding more checks to the basic compiler / release configuraiton. (including allocation detection and most of the issues were with that).
Reran checks -- version with check uninit still exhibits some major differences with the same code run without. And version run without is still similar to previous results.
I just can't spend more time on trying to track down whether this is an issue with our code (which is big and complex) or with the compiler.
Linda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Leave uninitalized variable checking on and reset default REALs to "4" and "8" and see what you get regarding correctness.
Setting default INTEGER to "8", however, produced no such (correctness) errors.
Also, checking uninitialized variables caused problems within FORALL statements/constructs, but I think that's been resolved.
Brian Lamm
Oh yes, one other thing: builds wherein I had this correctness error were debug (I've not tried experimenting with release, yet). You might try building debug first, since it is much quicker than release.

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