[clang] [clang-tools-extra] [clang][NFC] Refactor `CXXNewExpr::InitializationStyle` (PR #71322)

Vlad Serebrennikov via cfe-commits cfe-commits at lists.llvm.org
Sun Nov 5 11:28:01 PST 2023


================
@@ -2388,15 +2389,20 @@ class CXXNewExpr final
 
   /// Whether this new-expression has any initializer at all.
   bool hasInitializer() const {
-    return CXXNewExprBits.StoredInitializationStyle > 0;
+    switch (getInitializationStyle()) {
+    case CXXNewInitializationStyle::None:
+      return true;
+    case CXXNewInitializationStyle::Implicit:
+    case CXXNewInitializationStyle::Call:
+    case CXXNewInitializationStyle::List:
+      return false;
+    }
----------------
Endilll wrote:

Behavioral change wasn't intended and is now fixed (thank you!)
I find inequality checks against enums not very robust, so I refactored this into switch.

https://github.com/llvm/llvm-project/pull/71322


More information about the cfe-commits mailing list