AaronBallman wrote:
> > The enum we had in the past described the syntax of the new expression.
>
> Even if it was the case at some point, I'm not sure it held when I created
> the PR, which eliminated this kind of nasty mapping, encoding how this enum
> was actually used:
>
> ```c++
> CXXNewExprBits.StoredInitializationStyle =
> Initializer ? InitializationStyle + 1 : 0;
> ```
>
> ```c++
> InitializationStyle getInitializationStyle() const {
> if (CXXNewExprBits.StoredInitializationStyle == 0)
> return NoInit;
> return static_cast<InitializationStyle>(
> CXXNewExprBits.StoredInitializationStyle - 1);
> ```
Yeah, perhaps calling this NFC was a stretch because it does have a minor
functional change in what it expresses; sorry for that confusion! I think the
current form is a more clean way to express the code. Are you finding it's
causing issues beyond just the change to test behavior?
https://github.com/llvm/llvm-project/pull/71417
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits