diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/other/crash-4.C')
-rw-r--r-- | gcc/testsuite/g++.dg/other/crash-4.C | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/other/crash-4.C b/gcc/testsuite/g++.dg/other/crash-4.C new file mode 100644 index 000000000..a77fe05d4 --- /dev/null +++ b/gcc/testsuite/g++.dg/other/crash-4.C @@ -0,0 +1,26 @@ +// Copyright (C) 2005 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 14 Jun 2005 <nathan@codesourcery.com> + +// PR 20678: ICE on error message +// Origin: Andrew Pinski pinskia@gcc.gnu.org + +// NOTE: This test assumes packed structure layout differs from unpacked +// structure layout. This isn't true, e.g., with the default +// arm-none-elf options. +// { dg-options "-mstructure-size-boundary=8" { target arm*-*-* } } + +struct a +{ + int m; + a(const a&); +}; +struct b // { dg-error "cannot bind packed field" "" { target { ! default_packed } } } +{ + char c; + a aa __attribute__((packed)); // { dg-warning "attribute ignored" "" { target default_packed } } +}; +struct c +{ + b bb; + c(const b& __a): bb(__a) {} // { dg-message "synthesized" "" { target { ! default_packed } } } +}; |