The explanation to the problem you encounter is described in previous 
messages...

I have came up in the past with this issue and solved it for pic16 port 
by using
the PIC16_PACKED_BITFIELDS enviroment variable which aggressively
packs bitfields (which is what one expects, before reading specs!!:-) )

This workaround currently only works for pic16 port and after having set the
enviroment variable PIC16_PACKED_BITFIELDS, like this (on linux):

PIC16_PACKED_BITFIELDS=1 sdcc -mpic16 .....

one could easily adopt this behavior to other ports. What remains to be 
tested
is the behavior of the bit reading/writing functions in the code 
generator (gen.c)
of the respective port, so that it reads/writes bitfields in the correct 
offset of the
array bytes' .

regards,
Vangelis Rokas

[EMAIL PROTECTED] wrote:
> I think it is a bug because:
>
> struct {
>    unsigned short CCC:12;
>    unsigned short READ_BL_LEN:4;
> } CSD;
> ----> works as expected (2 bytes long)
>
> struct {
>    unsigned short READ_BL_LEN:4;
>    unsigned short CCC:12;
> } CSD;
> ----> works wrong (3 bytes long)
>
> I think that this should work the same way shouldn't it?
> Unfortunately I need the second version... :-(
>
>   

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to