================
@@ -286,6 +286,35 @@ class StoreManager {
   /// iterBindings - Iterate over the bindings in the Store.
   virtual void iterBindings(Store store, BindingsHandler& f) = 0;
 
+  /// The kind of a binding: either \c Direct, a value bound to one specific
+  /// location, or \c Default, a value covering every location of a region
+  /// without its own direct binding. Can't reuse BindingKey::Kind because it 
is
+  /// a file-local in RegionStore.cpp. Symbolic-ness is tracked by \c BitOffset
+  /// instead of in the enum.
----------------
NagyDonat wrote:

Actually now that I see the complications with the bitflag semantics (which I 
didn't check before writing my original suggestion), I prefer the original 
approach instead of 
https://github.com/llvm/llvm-project/pull/188128/commits/779e82185a41cd5b99b3794a857116c466aebeb7.

The code fragment `enum {Default, Direct}` is so trivial that duplicating it is 
not a serious issue; and the new approach adds roughly a dozen lines of 
additional "glue" code that is avoided in the original variant.

https://github.com/llvm/llvm-project/pull/188128
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to