From e3129f233c57ff39eeb2406bffd480fa0a6a0a8b Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Wed, 10 Oct 2018 17:09:26 +0000 Subject: [PATCH] PR c/54391 - transparent_union typedef'ing inconsistent gcc/testsuite/ChangeLog: * gcc.dg/transparent-union-6.c: New. From-SVN: r265024 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/transparent-union-6.c | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/transparent-union-6.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2100938f4ab..b63373cd4ac 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-10-10 Martin Sebor + + PR c/54391 + * gcc.dg/transparent-union-6.c: New. + 2018-10-10 Martin Sebor * gcc.c-torture/execute/memchr-1.c: Avoid assuming 4-byte wchar_t. diff --git a/gcc/testsuite/gcc.dg/transparent-union-6.c b/gcc/testsuite/gcc.dg/transparent-union-6.c new file mode 100644 index 00000000000..dcad69b2787 --- /dev/null +++ b/gcc/testsuite/gcc.dg/transparent-union-6.c @@ -0,0 +1,17 @@ +/* PR c/54391 - transparent_union typedef'ing inconsistent + { dg-do compile } + { dg-options "-Wall" } */ + +typedef union m30_u m30_t; + +union __attribute__((transparent_union)) m30_u { + int u; +}; + +double make_double (m30_t); + +double f (void) +{ + int bar = 17; + return make_double (bar); +} -- 2.30.2