Alan Stern <[EMAIL PROTECTED]> writes:
> On Thu, 8 Feb 2007, Sergei Organov wrote:
>
>> Unfortunately I can't have the correct type for this field in C (it
>> should be "2-bytes-little-endian-unsigned-integer-unaligned"), so I
>> can't get type-safety here anyway. Declaring this field __le16 is IMHO a
>> poor attempt as it creates an illusion of type safety when in fact there
>> is no type safety guaranteed.
>
> The real question is to what extent attributes like ((aligned(N))) should
> be considered part of the type as opposed to something just tacked on.  I
> don't know how the GCC people feel about this sort of thing.  From a
> higher-level (source code) point of view, the alignment doesn't affect the 
> set of operations which can be applied to the data type.  In the 
> lower-level (object code) view, it does.

IMHO aligned(N) should be used in portable code only to *increase*
alignment (this effectively excludes usage of 'packed'), and then the
alignment won't affect the low-level operations, that automatically
answers your question. Simple?

-- Sergei.

-------------------------------------------------------------------------
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

Reply via email to