// { dg-do compile } | |
// Copyright (C) 2003 Free Software Foundation, Inc. | |
// Contributed by Nathan Sidwell 15 Jul 2003 <nathan@codesourcery.com> | |
// Packed fields are unsuitable for direct reference binding. | |
struct Unpacked { int i; }; | |
void Ref (int &p); | |
void Ref (Unpacked &p); | |
struct __attribute__ ((packed)) Packed | |
{ | |
char c; | |
int i; | |
Unpacked u; | |
}; | |
void Foo (Packed &p) | |
{ | |
Ref (p.i); // { dg-error "cannot bind packed field" "" } | |
Ref (p.u.i); | |
Ref (p.u); // { dg-error "cannot bind packed field" "" } | |
} |