This is an archive of the discontinued LLVM Phabricator instance.

[clang][NFC] Adjust qualification conversion API
AbandonedPublic

Authored by urnathan on May 18 2021, 9:08 AM.

Details

Reviewers
rsmith
bruno
Summary

This adjusts the IsQualificationConversion API to return an enum of bit flags, along the lines discussed in D102645. I rename IsQualificationConversion to TryQualificationConversion, as it's no longer returning a bool. We drop the ObjCLifetimeConversion parm, as it's one of the bit flags that may be returned. The SemaOverload-local isQualificationConversionStep gets a similar rename and adjustment.

The plan is that we'll grow a QCK_IncludesArrayBoundConversion flag for p0388.

I changed the sense of a preserved FIXME, AFAICT we /are/ tracking the objc lifetime of inner conversions.

Questions:
a) perhaps we should also track address space changes during conversion.
b) do you want bit op overloads on the new enum, rather than have to use explicit casts on the few places we or bits into it?

Diff Detail

Event Timeline

urnathan created this revision.May 18 2021, 9:08 AM
urnathan requested review of this revision.May 18 2021, 9:08 AM
urnathan abandoned this revision.May 24 2021, 2:20 PM