-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[tcling] Disable runtime resolution for identifiers that are certainly types #9160
[tcling] Disable runtime resolution for identifiers that are certainly types #9160
Conversation
Given two consecutive identifiers, the first token is necessarily a type name, e.g. in `foo bar`, `foo` is certainly a type. In this case, runtime resolution must be disabled. More details here: https://sft.its.cern.ch/jira/browse/ROOT-5268 Closes JIRA issue ROOT-5268.
Starting build on |
Build failed on ROOT-debian10-i386/cxx14. Errors:
|
Build failed on mac11.0/cxx17. Failing tests: |
Build failed on mac1014/python3. Failing tests: |
@phsft-bot build just on mac1014/python3 |
Starting build on |
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.
Very nice!
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.
Very clever solution 😃
Given two consecutive identifiers, the first token is necessarily a type name, e.g. in
foo bar
,foo
is a type. This pull-request disables runtime resolution for this case.Previously, the lookup was returning a VarDecl of type
DependentTy
regardless of the identifier being probably a mistyped type. This caused clang to start parsing an expression, which ended up in misleading diagnostic messages.More details here: https://sft.its.cern.ch/jira/browse/ROOT-5268
Sibling PR in roottest: root-project/roottest#786.
Changes or fixes:
Checklist:
This PR fixes JIRA issue ROOT-5268.