[clang] 335e00f - [clang][Interp][NFC] Add another union test case

Timm Bäder via cfe-commits cfe-commits at lists.llvm.org
Thu May 23 01:21:18 PDT 2024


Author: Timm Bäder
Date: 2024-05-23T10:21:02+02:00
New Revision: 335e00faaf74f3f7463b32a415d39af0973f521f

URL: https://github.com/llvm/llvm-project/commit/335e00faaf74f3f7463b32a415d39af0973f521f
DIFF: https://github.com/llvm/llvm-project/commit/335e00faaf74f3f7463b32a415d39af0973f521f.diff

LOG: [clang][Interp][NFC] Add another union test case

Added: 
    

Modified: 
    clang/test/AST/Interp/unions.cpp

Removed: 
    


################################################################################
diff  --git a/clang/test/AST/Interp/unions.cpp b/clang/test/AST/Interp/unions.cpp
index bc5604c2b2d04..73e42d57a7b77 100644
--- a/clang/test/AST/Interp/unions.cpp
+++ b/clang/test/AST/Interp/unions.cpp
@@ -30,3 +30,16 @@ constexpr A ab = {.d = 1.0};
 static_assert(ab.d == 1.0, "");
 static_assert(ab.a == 1, ""); // both-error {{not an integral constant expression}} \
                               // both-note {{read of member 'a' of union with active member 'd'}}
+
+namespace SimpleStore {
+  union A {
+    int a;
+    int b;
+  };
+  constexpr int foo() {
+    A a{.b = 4};
+    a.b = 10;
+    return a.b;
+  }
+  static_assert(foo() == 10, "");
+}


        


More information about the cfe-commits mailing list