-
Notifications
You must be signed in to change notification settings - Fork 424
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
Improve handling for tryResolve and errors to handle a bad init= #14887
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mppf
force-pushed
the
missing-init-eq
branch
from
February 12, 2020 20:42
349c26f
to
e025c66
Compare
This was referenced Feb 12, 2020
benharsh
approved these changes
Feb 14, 2020
The change to forwarding is based on an internal error I noticed
The trouble is that too many places resolving the function need to adjust the instantiation point first.
See e.g. test/library/standard/Map/testIterators.chpl which failed before this change, because the '=' resolved in the array initializer was not getting the correct instantiation point for the type.
This reverts commit 6659e07.
and report initCopy errors from iterators immediately
mppf
force-pushed
the
missing-init-eq
branch
from
February 18, 2020 11:51
751f824
to
b659cc5
Compare
mppf
force-pushed
the
missing-init-eq
branch
from
February 18, 2020 13:47
5d60eb9
to
b4851d9
Compare
Just noting that this PR is connected to issue #8065 which discusses how users should indicate a type is not copyable. |
mppf
added a commit
to mppf/chapel
that referenced
this pull request
Feb 19, 2020
This change is causing problems in const-checking of shadow variables that I'm not quite sure how to resolve at the moment.
This was referenced Feb 19, 2020
mppf
added a commit
that referenced
this pull request
Feb 19, 2020
Un-do array init copy change Changes in array initCopy from PR #14887 caused failures for the test test/parallel/forall/reduce-intents/ri-a2-AoA.chpl in performance runs. The problem is related to const-checking of shadow variables that I'm not quite sure how to resolve at the moment. This PR removes the intent changes for array initCopy. Issue #14923 tracks the future work of fixing it (along with the new future test/types/records/const-checking/array-of-owned-const.chpl) While there, run the test that failed in performance testing in regular testing too. Since full testing passed with the PR before it was merged, this test is testing something different from others. Trivial and not reviewed. - [x] full local testing
e-kayrakli
added a commit
that referenced
this pull request
Feb 21, 2020
Add performance annotations Adds annotation for the following perf changes and the responsible PRs - Gasnet Performance improvements on cs xc #14912 - Memory leak #14907 - Compiler performance #14887 - String temporary copy performance #14903 - Unordered GET improvements on ofi #14810 [Reviewed by @ronawho]
1 task
1 task
mppf
added a commit
that referenced
this pull request
Mar 19, 2020
Fix up chameneous benchmarks and patterns of returning array of non-nilable Related: PR #14887, issue #14896, PR #15240. This PR reverts some changes to chameneos tests now that issue #14896 is solved. Once the changes were reverted, the tests uncovered additional problems with the erroneous-initializer logic that this PR fixes. Reviewed by @benharsh - thanks! - [x] full local testing
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the event that
init=
indicates that a type is not copyable(currently by including a
compilerError
in the body), the compilershould raise an error if the copy is used but not if the copies are all
removed. Since some copies are actually removed during callDestructors,
this PR extends the work of PR #8577 with
FLAG_ERRONEOUS_INITCOPY
.Changes are:
baseAST.cpp and misc.cpp
strictly for error messages - and add getUserInstantiationPoint to
astlocs.cpp to help with this
FLAG_ERRONEOUS_AUTOCOPY
/FLAG_ERRONEOUS_INITCOPY
tojust
FLAG_ERRONEOUS_COPY
(it's simpler and it can also apply toarray's
chpl_unref
)instantiations) so that the range constructor can work correctly when
called on an instantiation
that is the strategy used (so that tryResolve can return NULL, e.g.)
an
init=
(say) was tryResolved. (Otherwise, the error would only beencountered the first time, and then it would be saved in the map, but
the call would resolve to the function containing the error - leading
the tryResolve to succeed).
type-directed functions (like resolveAutoCopyEtc, findAssignFn, etc).
This detects compilerErrors in the called function and sets the
instantiation point appropriately.
PRIM_IS_COPYABLE
etc intoseparate functions
createASTforLineNumber - and while there get one more handleError
variant to call vhandleError instead of repeating the same code
assignable
isDefaultInitializable will work correctly on it)
issue cannot return array of non-nilable owned #14896
Reviewed by @benharsh - thanks!