Hi, Jan

I have compiled using CodeSourcery compiler and no compilation errors.

Regards,
Chun Yeow

On 10/13/07, Jan Kiszka <[EMAIL PROTECTED]> wrote:
>
> Hi Chun Yeow,
>
> I just tried to reproduce your issue with RTcfg. As I do not have a
> target to test yet, I tried a synthetic test first, see below. What
> output does compiling that code with your compiler? I tried both with
> some TimeSys toolchain and latest from CodeSourcery. The former fails on
> Gilles' pattern, the latter passes all tests without complaints.
>
> Jan
>
> PS: Will now try to integrate your AT91 driver _really_ soon :) - once
> I have a full build environment (kernel, Xenomai, RTnet) running.
>
> --
>
> typedef unsigned char u8;
> typedef unsigned short u16;
>
> #define __BIG_ENDIAN_BITFIELD
>
> struct rtcfg_frm_head {
> #if defined(__LITTLE_ENDIAN_BITFIELD)
>     u8 id:5,
>        version:3;
> #elif defined(__BIG_ENDIAN_BITFIELD)
>     u8 version:3,
>        id:5;
> #else
>     #error unsupported byte order
> #endif
> } __attribute__((packed));
>
> struct rtcfg_frm_announce {
>     struct rtcfg_frm_head head;
>     u8                    addr_type;
>     u8                    addr[0];
>     u8                    flags;
>     u8                    burstrate;
> } __attribute__((packed));
>
> struct rtcfg_frm_announce2 {
>     struct rtcfg_frm_head head;
>     u8                    addr_type;
>     u8                    flags;
>     u8                    burstrate;
> } __attribute__((packed));
>
> struct rtcfg_frm_stage_1_cfg {
>     struct rtcfg_frm_head head;
>     u8                    addr_type;
>     u8                    client_addr[0];
>     u8                    server_addr[0];
>     u8                    burstrate;
>     u16                   cfg_len;
>     u8                    cfg_data[0];
> } __attribute__((packed));
>
> struct rtcfg_frm_stage_1_cfg2 {
>     struct rtcfg_frm_head head;
>     u8                    addr_type;
>     u8                    burstrate;
>     u16                   cfg_len;
> } __attribute__((packed));
>
> struct foo {
>         struct a {
>                 char b;
>         } /*__attribute__((packed))*/ c;
>         char d;
>         short e;
> } __attribute__((packed));
>
> struct bar {
>         char a;
> } __attribute__((packed));
>
> struct qux {
>         struct bar b;
>         char c;
>         short d;
> } __attribute__((packed));
>
> int main()
> {
>         char c[1 - 2 *(sizeof(struct rtcfg_frm_announce) - sizeof(struct
> rtcfg_frm_announce2))];
>         char d[1 - 2 *(sizeof(struct rtcfg_frm_stage_1_cfg) -
> sizeof(struct rtcfg_frm_stage_1_cfg2))];
>         char e[1 - 2 *(sizeof(struct foo) - sizeof(struct qux))];
>
>         c[0] = 0;
>         d[0] = 0;
>         e[0] = 0;
>
>         return 0;
> }
>
>
-------------------------------------------------------------------------
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/
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to