Skip to content
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

Do not error out failing to resolve function in dependend context #339

Conversation

i-garrison
Copy link
Contributor

Detect if function set failed to resolve while instantiating for template-id which still has dependend arguments. Since resolution still can succeed later via ADL when template-id is fully instantiated, do not error out immediately and return original evaluation to allow trying to instantiate later.

This partially fixes a problem with looking at GDB sources where enum_flags uses ADL to restrict args to binary operators over enumerations.

Detect if function set failed to resolve while instantiating for template-id
which still has dependend arguments. Since resolution still can succeed later
via ADL when template-id is fully instantiated, do not error out immediately
and return original evaluation to allow trying to instantiate later.
@jonahgraham jonahgraham merged commit 385b915 into eclipse-cdt:main Apr 4, 2023
@jonahgraham
Copy link
Member

Thanks @i-garrison

@i-garrison i-garrison deleted the pr/c++11-fix-sfinae-in-dependend-context branch April 4, 2023 18:23
@jonahgraham jonahgraham added the language C/C++ Language Support label Apr 4, 2023
@jonahgraham jonahgraham added this to the 11.2.0 milestone Apr 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
language C/C++ Language Support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants