This is an archive of the discontinued LLVM Phabricator instance.

[Clang][Attributes] Add MeaningfulToClassTemplateDefinition to unavailable attribute
ClosedPublic

Authored by shafik on Apr 3 2023, 9:15 PM.

Details

Summary

There may be cases in which we want to diagnose a type as unavailable but it may not be complete at the time. Setting MeaningfulToClassTemplateDefinition fixes this issue.

This fixes: https://github.com/llvm/llvm-project/issues/61815

Diff Detail

Event Timeline

shafik created this revision.Apr 3 2023, 9:15 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 3 2023, 9:15 PM
Herald added a subscriber: inglorion. · View Herald Transcript
shafik requested review of this revision.Apr 3 2023, 9:15 PM
aaron.ballman accepted this revision.Apr 4 2023, 5:03 AM

LGTM, though please add a release note about the fix. I don't *think* this qualifies as a potentially breaking change, though it does theoretically have the ability to cause code which previously compiled to no longer compile. At least, my search over sourcegraph didn't come up with any results (https://sourcegraph.com/search?q=context:global+lang:C%2B%2B+-file:.*test.*+template+%3Ctypename%7Cclass+.*%3E+__attribute__%5C%28%5C%28unavailable&patternType=regexp&sm=1&groupBy=repo).

This revision is now accepted and ready to land.Apr 4 2023, 5:03 AM
shafik updated this revision to Diff 511526.Apr 6 2023, 2:18 PM
  • Add release note
This revision was landed with ongoing or failed builds.Apr 6 2023, 2:42 PM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptApr 6 2023, 2:42 PM