From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a0c:91ef:: with SMTP id r44mr20761119qvr.113.1562697967263; Tue, 09 Jul 2019 11:46:07 -0700 (PDT) X-Received: by 2002:a9d:6289:: with SMTP id x9mr20279613otk.82.1562697967014; Tue, 09 Jul 2019 11:46:07 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!b26no4228677qtq.0!news-out.google.com!a5ni364qtd.0!nntp.google.com!b26no4228675qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 9 Jul 2019 11:46:06 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=85.204.137.153; posting-account=9DmjiwoAAAD-KD7MAll0qPzDsSqXm2Qs NNTP-Posting-Host: 85.204.137.153 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <8859cf51-162c-462f-ad84-381637558ff8@googlegroups.com> Subject: Re: Odd AVR-Ada code generation issue with constant record type From: Per Jakobsen Injection-Date: Tue, 09 Jul 2019 18:46:07 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader01.eternal-september.org comp.lang.ada:56840 Date: 2019-07-09T11:46:06-07:00 List-Id: Just tried with C bitfields: ================================ #include struct Reg_T { unsigned int a : 3; unsigned int b : 1; unsigned int c : 4; } __attribute__((packed)); volatile struct Reg_T Reg_A; volatile struct Reg_T Reg_B; volatile struct Reg_T Reg_C; volatile uint8_t A; volatile uint8_t B; void main (void) { Reg_A = (struct Reg_T){ .a = 0, .b = 0, .c = 0 }; Reg_B = (struct Reg_T){ .a = 0, .b = 1, .c = 0 }; Reg_C = (struct Reg_T){ .a = 7, .b = 1, .c = 15 } A = 0; B = 255; } ================================ Same type of result... GCC back-end then?