[clang] [clang] Add zero-initialization for fixed point types (PR #80781)
https://github.com/PiJoules closed https://github.com/llvm/llvm-project/pull/80781 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Add zero-initialization for fixed point types (PR #80781)
https://github.com/MaskRay approved this pull request. https://github.com/llvm/llvm-project/pull/80781 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Add zero-initialization for fixed point types (PR #80781)
https://github.com/PiJoules updated https://github.com/llvm/llvm-project/pull/80781 >From 3b267b1aeb49aa5ab54920da5f6a1fa7492ae88c Mon Sep 17 00:00:00 2001 From: Leonard Chan Date: Mon, 5 Feb 2024 17:58:08 -0800 Subject: [PATCH] [clang] Add zero-initialization for fixed point types --- clang/lib/AST/ExprConstant.cpp | 4 clang/test/AST/fixed-point-zero-init.cpp | 5 + 2 files changed, 9 insertions(+) create mode 100644 clang/test/AST/fixed-point-zero-init.cpp 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 00..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); ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Add zero-initialization for fixed point types (PR #80781)
@@ -0,0 +1,9 @@ +// RUN: %clang_cc1 -ffixed-point -S -emit-llvm %s -o - | FileCheck %s + +// CHECK: @_ZL1a = internal constant [2 x i32] zeroinitializer +constexpr _Accum a[2] = {}; MaskRay wrote: Consider a `test/AST/` test like `static_assert(a[0] == 0 && a[0] != 1);` This is not supported by -fexperimental-new-constant-interpreter, but I think it is ok. https://github.com/llvm/llvm-project/pull/80781 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Add zero-initialization for fixed point types (PR #80781)
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff cf401f72e1b5aa6be0719ab45c95c10ea06bec9a 916a10f1cebbb339dec98bd18c945b63991190f1 -- clang/test/CodeGenCXX/fixed-point-zero-init.cpp clang/lib/AST/ExprConstant.cpp `` View the diff from clang-format here. ``diff diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index 089bc20945..79541ff8ea 100644 --- a/clang/lib/AST/ExprConstant.cpp +++ b/clang/lib/AST/ExprConstant.cpp @@ -11427,9 +11427,7 @@ class FixedPointExprEvaluator return true; } - bool ZeroInitialization(const Expr *E) { -return Success(0, E); - } + bool ZeroInitialization(const Expr *E) { return Success(0, E); } //======// //Visitor Methods `` https://github.com/llvm/llvm-project/pull/80781 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Add zero-initialization for fixed point types (PR #80781)
llvmbot wrote: @llvm/pr-subscribers-clang Author: None (PiJoules) Changes --- Full diff: https://github.com/llvm/llvm-project/pull/80781.diff 2 Files Affected: - (modified) clang/lib/AST/ExprConstant.cpp (+4) - (added) clang/test/CodeGenCXX/fixed-point-zero-init.cpp (+9) ``diff diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index 63453890d9879..089bc2094567f 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/CodeGenCXX/fixed-point-zero-init.cpp b/clang/test/CodeGenCXX/fixed-point-zero-init.cpp new file mode 100644 index 0..9a7a6600fe556 --- /dev/null +++ b/clang/test/CodeGenCXX/fixed-point-zero-init.cpp @@ -0,0 +1,9 @@ +// RUN: %clang_cc1 -ffixed-point -S -emit-llvm %s -o - | FileCheck %s + +// CHECK: @_ZL1a = internal constant [2 x i32] zeroinitializer +constexpr _Accum a[2] = {}; + +void func2(const _Accum *); +void func() { + func2(a); +} `` https://github.com/llvm/llvm-project/pull/80781 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [clang] Add zero-initialization for fixed point types (PR #80781)
https://github.com/PiJoules created https://github.com/llvm/llvm-project/pull/80781 None >From 916a10f1cebbb339dec98bd18c945b63991190f1 Mon Sep 17 00:00:00 2001 From: Leonard Chan Date: Mon, 5 Feb 2024 17:58:08 -0800 Subject: [PATCH] [clang] Add zero-initialization for fixed point types --- clang/lib/AST/ExprConstant.cpp | 4 clang/test/CodeGenCXX/fixed-point-zero-init.cpp | 9 + 2 files changed, 13 insertions(+) create mode 100644 clang/test/CodeGenCXX/fixed-point-zero-init.cpp diff --git a/clang/lib/AST/ExprConstant.cpp b/clang/lib/AST/ExprConstant.cpp index 63453890d9879..089bc2094567f 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/CodeGenCXX/fixed-point-zero-init.cpp b/clang/test/CodeGenCXX/fixed-point-zero-init.cpp new file mode 100644 index 0..9a7a6600fe556 --- /dev/null +++ b/clang/test/CodeGenCXX/fixed-point-zero-init.cpp @@ -0,0 +1,9 @@ +// RUN: %clang_cc1 -ffixed-point -S -emit-llvm %s -o - | FileCheck %s + +// CHECK: @_ZL1a = internal constant [2 x i32] zeroinitializer +constexpr _Accum a[2] = {}; + +void func2(const _Accum *); +void func() { + func2(a); +} ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits