[clang] [Clang][C++26] Implement "Ordering of constraints involving fold expressions (PR #98160)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 9 09:07:04 PDT 2024


================
@@ -75,6 +75,17 @@ struct AtomicConstraint {
   }
 };
 
+struct FoldExpandedConstraint;
+
+using NormalFormConstraint =
+    llvm::PointerUnion<AtomicConstraint *, FoldExpandedConstraint *>;
+struct NormalizedConstraint;
+using NormalForm =
+    llvm::SmallVector<llvm::SmallVector<NormalFormConstraint, 2>, 4>;
+
+NormalForm makeCNF(const NormalizedConstraint &Normalized);
+NormalForm makeDNF(const NormalizedConstraint &Normalized);
----------------
AaronBallman wrote:

It might be nice to add a comment spelling out CNF and DNF so it's clear what the difference is.

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


More information about the cfe-commits mailing list