diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-06-25 17:33:40 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2018-06-25 17:33:40 +0000 |
commit | 38d270492ef5a82f8476dca246970e9f16bb3927 (patch) | |
tree | c7940796e752d725e5a419d432fa8a3e86efa348 /gcc/testsuite | |
parent | 2917c9eb5b59569f5ad1ce7b26e5a1387bac7b6a (diff) |
Backported from mainline
2018-03-16 Jakub Jelinek <jakub@redhat.com>
PR c++/84874
* decl.c (reshape_init_class): Don't assert d->cur->index == field
if d->cur->index is a FIELD_DECL, instead set field to d->cur->index.
* g++.dg/cpp1z/desig7.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@262077 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp1z/desig7.C | 18 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 818d6b60c4c..65efe213990 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2018-06-25 Jakub Jelinek <jakub@redhat.com> Backported from mainline + 2018-03-16 Jakub Jelinek <jakub@redhat.com> + + PR c++/84874 + * g++.dg/cpp1z/desig7.C: New test. + 2018-03-15 Jakub Jelinek <jakub@redhat.com> PR c++/79085 diff --git a/gcc/testsuite/g++.dg/cpp1z/desig7.C b/gcc/testsuite/g++.dg/cpp1z/desig7.C new file mode 100644 index 00000000000..83688375f78 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp1z/desig7.C @@ -0,0 +1,18 @@ +// PR c++/84874 +// { dg-do compile { target c++11 } } +// { dg-options "" } + +struct A { int a, b; }; +struct B { A d; }; + +void +foo (B *x) +{ + *x = { .d = { .b = 5 } }; // { dg-message "non-trivial designated initializers not supported" } +} + +void +bar (A *x) +{ + *x = { .b = 6 }; // { dg-message "non-trivial designated initializers not supported" } +} |