summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/pr34829.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/pr34829.C')
-rw-r--r--gcc/testsuite/g++.dg/ext/pr34829.C22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/pr34829.C b/gcc/testsuite/g++.dg/ext/pr34829.C
new file mode 100644
index 000000000..d588b5b2b
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/pr34829.C
@@ -0,0 +1,22 @@
+// Test for PR c++/34829
+// Placement new should be ok for non-aggregate Java types.
+
+// { dg-do compile }
+// { dg-options "" }
+
+extern "Java"
+{
+ typedef __java_byte jbyte;
+}
+
+typedef __SIZE_TYPE__ size_t;
+
+void *operator new (size_t, void *m)
+{
+ return m;
+}
+
+jbyte *f(void *memory)
+{
+ return new (memory) jbyte;
+}