================
@@ -1543,3 +1544,55 @@ namespace GH197403 {
   }
   static_assert(test() == 0);
 }
+
+namespace GH223064 {
+  struct A {
+    int n;
+  };
+  struct B : A {} b[2];
+
+  constexpr int *base_array_element() {
+    A *p = b;
+    return &static_cast<B *>(p)[1].n;
+  }
+  static_assert(base_array_element() == &b[1].n);
+
+  constexpr int pointer_difference() {
+    A *p = b;
+    return p - p;
+  }
+  static_assert(pointer_difference() == 0);
----------------
ChenMiaoi wrote:

Do you really understand and test it?

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

Reply via email to