-
Notifications
You must be signed in to change notification settings - Fork 421
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turn off some range halts for --no-checks #11780
Conversation
modules/internal/ChapelRange.chpl
Outdated
@@ -2264,7 +2267,7 @@ proc _cast(type t, r: range(?)) where isRangeType(t) { | |||
{ | |||
// WARNING: this case has not been tested | |||
if boundsChecking && this.hasLast() then | |||
halt("zippered iteration where a bounded range follows an unbounded iterator"); | |||
HaltWrappers.boundsCheckHalt("zippered iteration where a bounded range follows an unbounded iterator"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe zipLengthHalt
instead of boundsCheckHalt
modules/internal/ChapelRange.chpl
Outdated
} else { | ||
halt("Trying to read an aligned range value into a non-stridable array"); | ||
} else if boundsChecking { | ||
HaltWrappers.boundsCheckHalt("Trying to read an aligned range value into a non-stridable array"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't quite seem like bounds checking, but I'm not sure what I'd call it instead
modules/internal/ChapelRange.chpl
Outdated
if boundsChecking { | ||
if minType != modulus.type { | ||
if m : modulus.type != modulus then | ||
HaltWrappers.boundsCheckHalt("Modulus too large."); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't really feel like bounds checking either. Is this more of a casting error?
@bradcray has done a lot with ranges recently and may be interested in reviewing too. |
Add recent annotations and backfill missing ones since last release Improvements: - minor unordered operation improvements (chapel-lang#12089) - massive single and multi-locale scan improvements (chapel-lang#12469, chapel-lang#12481) - string-ish improvements from --no-checks disabling range checks (chapel-lang#11780) - remote-record-read comm count regression and fix (chapel-lang#11629, chapel-lang#12439) - tuple-to-complex cast regression fix (chapel-lang#12429) - sparse bulk-add improvement from using radix sort (chapel-lang#12452) - memory leak regressions, fixes, and improvements (chapel-lang#12225, chapel-lang#12394, chapel-lang#12421, chapel-lang#12512, chapel-lang#12500, chapel-lang#12516, chapel-lang#12527, chapel-lang#12531, chapel-lang#12551, chapel-lang#12554, chapel-lang#12552) - minor regression for serial reductions from ExternArr (chapel-lang#11893) - mark notable reboots of chapcs machines
Add perf annotations for 2019-03-14 Add recent annotations and backfill missing ones since last release Improvements: - minor improvements for unordered operations (#12089) - massive single and multi-locale scan improvements (#12469, #12481) - string-ish improvements from --no-checks disabling range checks (#11780) - regression and fix for remote-record-read-copy comm count (#11629, #12439) - regression fix for tuple-to-complex cast (#12429) - sparse bulk-add improvement from using radix sort (#12452) - regressions, fixes, and improvements for leaks (#12225, #12394, #12421, #12512, #12500, #12516, #12527, #12531, #12551, #12554, #12552) Regressions: - minor regression for serial reductions from ExternArr (#11893) Misc: - mark notable reboots of chapcs machines (e.g. llvm, default)
This PR changes several halts / chpl_error calls in ChapelRange to:
Reviewed by @ronawho - thanks!