summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-25 16:14:59 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-25 16:14:59 +0000
commit1ca4bd4a650994c359974198c534b20fec92e372 (patch)
tree64f3e00ee1e86736bdb2e4f38aaf2db7d77e5611 /gcc/testsuite
parentecb10e6a777c616a80b4b2d36eb3b6978a638ac3 (diff)
downloadgcc-1ca4bd4a650994c359974198c534b20fec92e372.tar.gz
/cp
2012-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53761 * class.c (finish_struct_1): Reject aggregates decorated with __transparent_union__ which cannot be made transparent because the type of the first field has a different ABI from the class overall. /testsuite 2012-10-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53761 * g++.dg/ext/transparent-union.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192814 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/ext/transparent-union.C5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 30fced62856..16c0ce6c1b9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/53761
+ * g++.dg/ext/transparent-union.C: New.
+
2012-10-25 Marc Glisse <marc.glisse@inria.fr>
PR c++/54427
diff --git a/gcc/testsuite/g++.dg/ext/transparent-union.C b/gcc/testsuite/g++.dg/ext/transparent-union.C
new file mode 100644
index 00000000000..12315636100
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/transparent-union.C
@@ -0,0 +1,5 @@
+// PR c++/53761
+
+typedef union { // { dg-error "type transparent" }
+ double x;
+} __attribute__(( __transparent_union__ )) example_t;