summaryrefslogtreecommitdiff
path: root/clang/test/CodeGenCXX/pr54845.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGenCXX/pr54845.cpp')
-rw-r--r--clang/test/CodeGenCXX/pr54845.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/pr54845.cpp b/clang/test/CodeGenCXX/pr54845.cpp
new file mode 100644
index 000000000000..acf2c3121900
--- /dev/null
+++ b/clang/test/CodeGenCXX/pr54845.cpp
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -triple i686-linux-gnu -emit-llvm %s -o - | FileCheck %s
+// https://github.com/llvm/llvm-project/issues/54845
+
+void *operator new(unsigned int, void *);
+
+void test(double *d) {
+ // This store used to have an alignment of 8, which was incorrect as
+ // the i386 psABI only guarantees a 4-byte alignment for doubles.
+
+ // CHECK: store double 0.000000e+00, {{.*}}, align 4
+ new (d) double(0);
+}