[PATCH] D71213: [Alignment][NFC] CreateMemSet use MaybeAlign

Jay Foad via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 11 10:11:09 PST 2019


foad added a comment.

In D71213#1780088 <https://reviews.llvm.org/D71213#1780088>, @gchatelet wrote:

> In D71213#1779841 <https://reviews.llvm.org/D71213#1779841>, @foad wrote:
>
> > @gchatelet in general would it be possible to make changes like this in a backwards-compatible way, or in two stages without a "flag day" change? We have out-of-tree users of CreateMemSet and it's awkward to change them all at exactly the same time as we merge in this change from upstream llvm, and we have had the same problem with other MaybeAlign changes recently. I realise that LLVM doesn't make any official promises about API stability.
>
>
> Thx for letting me know @foad . I'll make sure to keep the old API with a deprecation message from now on.
>  Do you have any other suggestions on how to make this less painful for out-of-tree users? I'm afraid that the cleanup phase (removal of deprecated function) will be disruptive as well.


Removing deprecated functions is generally OK, as long as it happens *after* the preferred function is introduced, so we have time to switch over.

In the specific case of functions taking `Align` instead of `unsigned`, perhaps you could start off allowing implicit conversion from `unsigned` to `Align` and then remove it later, when all callers have been updated? Or perhaps it's too late for that now.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71213/new/

https://reviews.llvm.org/D71213





More information about the cfe-commits mailing list