[clang] 42357df - [clang] Add zero-initialization for fixed point types (#80781)

via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 6 15:57:19 PST 2024


Author: PiJoules
Date: 2024-02-06T15:57:15-08:00
New Revision: 42357df2df4977c80aba77fcab706638a121bde0

URL: https://github.com/llvm/llvm-project/commit/42357df2df4977c80aba77fcab706638a121bde0
DIFF: https://github.com/llvm/llvm-project/commit/42357df2df4977c80aba77fcab706638a121bde0.diff

LOG: [clang] Add zero-initialization for fixed point types (#80781)

Added: 
    clang/test/AST/fixed-point-zero-init.cpp

Modified: 
    clang/lib/AST/ExprConstant.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp
index 63453890d98798..089bc2094567f7 100644
--- a/clang/lib/AST/ExprConstant.cpp
+++ b/clang/lib/AST/ExprConstant.cpp
@@ -11427,6 +11427,10 @@ class FixedPointExprEvaluator
     return true;
   }
 
+  bool ZeroInitialization(const Expr *E) {
+    return Success(0, E);
+  }
+
   //===--------------------------------------------------------------------===//
   //                            Visitor Methods
   //===--------------------------------------------------------------------===//

diff  --git a/clang/test/AST/fixed-point-zero-init.cpp b/clang/test/AST/fixed-point-zero-init.cpp
new file mode 100644
index 00000000000000..abe8aa8c396a85
--- /dev/null
+++ b/clang/test/AST/fixed-point-zero-init.cpp
@@ -0,0 +1,5 @@
+// RUN: %clang_cc1 -ffixed-point %s -verify
+// expected-no-diagnostics
+
+constexpr _Accum a[2] = {};
+static_assert(a[0] == 0 && a[0] != 1);


        


More information about the cfe-commits mailing list