Oleg Verych wrote: > Your intro pseudo-code: > > | g() { > | char c; > | struct S s; /* packed or not */ > | (s.intfield)++; > | f(&s); > | } > > Due to `c', `s' gets to be unaligned, i.e. light turned before you've > touched a switch: layout of `c' is independed, it's a byte, not followed > by a byte, thus must be padded. No?.
No. If struct S is packed then its alignment is 1 and it will be placed immediately after c. This is not a bug, it is the intended consequence of declaring struct S as packed. This is exactly why we must be careful about making such declarations. Phil. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel