Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.embedded > #87

Re: Reading the Riot Act To ARM's developers

From Bob Hauck <postmaster@avalanche.org>
Newsgroups comp.os.linux.embedded
Subject Re: Reading the Riot Act To ARM's developers
Date 2012-02-09 08:28 -0500
Organization Hauck Family
Message-ID <slrnjj7ifo.84m.postmaster@bigbird.haucks.org> (permalink)
References <WGiYq.100467$WX2.28685@newsfe28.ams2> <02c9e013-9c6b-4270-8b82-c7d16b51269c@sw7g2000pbc.googlegroups.com> <i3AYq.10307$as3.6991@newsfe27.ams2> <x_KdnVX1OrdqQa_SnZ2dnUVZ8oCdnZ2d@lyse.net> <%8CYq.29115$R87.2889@newsfe19.ams2>

Show all headers | View raw


On Wed, 08 Feb 2012 21:52:58 +0000, 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> wrote:

> typedef struct tagLED_Register{
>   union
>   {
>      unsigned long All_LEDs;	// this accesses all flags
>      struct
>      {
>        unsigned LED_Power:1;
>        unsigned LED_Fault:1;
>        unsigned :3;		// unused - ignore
>        unsigned LED_Amber_Alert:1;
>      };
>    };	
> } struct_LED_Register;
>
>
> struct_LED_Register LED_Register;
> #define LED_ON   1
> #define LED_OFF  0
>
> main()
> {
>   LED_Register.All_LEDs = 0; // All LEDs off - directly write to all LEDs
>   LED_Register.LED_Amber_Alert = LED_ON; // write to individual LED
>   LED_Register.LED_Fault = LED_ON; // write to individual LED
> }

The problem with this is that you are making an assumption about how the 
compiler will allocate those bit fields. The C standard doesn't say 
anything about what order they will be in. You may think you know what 
your compiler does, but unless it is documented somewhere the compiler 
is free to change things up in the next version or if someone turns on a 
new optimization level.

Using shifts and masks to access the bits makes it explicit what bits 
are being manipulated and doesn't depend on the compiler doing things a 
particular way.


-- 
Bob Hauck

Back to comp.os.linux.embedded | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-07 23:43 +0000
  Re: Reading the Riot Act To ARM's developers cassiope <fpm@u.washington.edu> - 2012-02-08 09:51 -0800
    Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-08 19:29 +0000
      Re: Reading the Riot Act To ARM's developers David Brown <david.brown@removethis.hesbynett.no> - 2012-02-08 21:37 +0100
        Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-08 21:52 +0000
          Re: Reading the Riot Act To ARM's developers "Arie de Muynck" <nospam@nospam.com> - 2012-02-09 08:09 +0100
            Re: Reading the Riot Act To ARM's developers David Brown <david@westcontrol.removethisbit.com> - 2012-02-09 10:50 +0100
              Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-09 21:51 +0000
                Re: Reading the Riot Act To ARM's developers "Ezekiel" <zeke@nosuchemail.com> - 2012-02-10 15:41 -0500
          Re: Reading the Riot Act To ARM's developers "Ezekiel" <zeke@nosuchemail.com> - 2012-02-09 07:44 -0500
          Re: Reading the Riot Act To ARM's developers Bob Hauck <postmaster@avalanche.org> - 2012-02-09 08:28 -0500
            Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-09 23:38 +0000
              Re: Reading the Riot Act To ARM's developers David Brown <david@westcontrol.removethisbit.com> - 2012-02-10 09:26 +0100
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-10 19:51 +0000
                Re: Reading the Riot Act To ARM's developers David Brown <david.brown@removethis.hesbynett.no> - 2012-02-10 21:51 +0100
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-10 23:37 +0000
                Re: Reading the Riot Act To ARM's developers Grant Edwards <invalid@invalid.invalid> - 2012-02-13 15:11 +0000
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-13 21:30 +0000
    Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-08 19:29 +0000
      Re: Reading the Riot Act To ARM's developers Kelsey Bjarnason <kbjarnason@gmail.com> - 2012-02-10 21:25 -0800
        Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-11 09:27 +0000
  Re: Reading the Riot Act To ARM's developers Kelsey Bjarnason <kbjarnason@gmail.com> - 2012-02-10 21:22 -0800
    Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-11 09:58 +0000
      Re: Reading the Riot Act To ARM's developers David Brown <david.brown@removethis.hesbynett.no> - 2012-02-11 15:16 +0100
        Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-12 00:56 +0000
          Re: Reading the Riot Act To ARM's developers David Brown <david.brown@removethis.hesbynett.no> - 2012-02-12 10:24 +0100
            Re: Reading the Riot Act To ARM's developers "Ezekiel" <zeke@nosuchemail.com> - 2012-02-12 08:21 -0500
            Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-12 19:12 +0000
              Re: Reading the Riot Act To ARM's developers Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2012-02-13 08:54 +0200
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-13 21:37 +0000
                Re: Reading the Riot Act To ARM's developers Grant Edwards <invalid@invalid.invalid> - 2012-02-13 22:07 +0000
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-13 23:31 +0000
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-13 23:31 +0000
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-13 23:31 +0000
                Re: Reading the Riot Act To ARM's developers Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-14 10:35 +0100
                more troll spew from eternal-september.org 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-14 11:27 +0000
                Re: more troll spew from eternal-september.org Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-14 13:17 +0100
                Re: more troll spew from eternal-september.org Big Steel <SteelOne@SteelOne.com> - 2012-02-14 07:55 -0500
                Re: more troll spew from eternal-september.org GreyCloud <mist@cumulus.com> - 2012-02-14 11:18 -0700
                Re: more troll spew from eternal-september.org GreyCloud <mist@cumulus.com> - 2012-02-14 11:18 -0700
                Re: more troll spew from eternal-september.org Foster <frankfoster50@yahoo.com> - 2012-02-14 09:09 -0500
                Re: Reading the Riot Act To ARM's developers Foster <frankfoster50@yahoo.com> - 2012-02-14 08:38 -0500
                Re: Reading the Riot Act To ARM's developers GreyCloud <mist@cumulus.com> - 2012-02-14 11:19 -0700
                Re: Reading the Riot Act To ARM's developers GreyCloud <mist@cumulus.com> - 2012-02-14 11:17 -0700
                Re: Reading the Riot Act To ARM's developers Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-14 21:50 +0100
                Re: Reading the Riot Act To ARM's developers GreyCloud <mist@cumulus.com> - 2012-02-14 15:42 -0700
                Re: Reading the Riot Act To ARM's developers Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-14 23:56 +0100
                more troll spew 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-14 22:34 +0000
                Re: more troll spew GreyCloud <mist@cumulus.com> - 2012-02-15 00:12 -0700
                Re: more troll spew Foster <frankfoster50@yahoo.com> - 2012-02-15 08:29 -0500
                Re: more troll spew GreyCloud <mist@cumulus.com> - 2012-02-15 11:22 -0700
                Re: more troll spew 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-15 23:03 +0000
                Re: more troll spew Foster <frankfoster50@yahoo.com> - 2012-02-15 18:07 -0500
                Re: more troll spew GreyCloud <mist@cumulus.com> - 2012-02-15 16:36 -0700
                Re: more troll spew GreyCloud <mist@cumulus.com> - 2012-02-15 16:34 -0700
                Re: Reading the Riot Act To ARM's developers Kelsey Bjarnason <kbjarnason@gmail.com> - 2012-02-14 20:06 -0800
                Re: Reading the Riot Act To ARM's developers chrisv <chrisv@nospam.invalid> - 2012-02-15 07:20 -0600
                Re: Reading the Riot Act To ARM's developers "Ezekiel" <zeke@nosuchemail.com> - 2012-02-15 11:20 -0500
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-15 20:15 +0000
                Re: Reading the Riot Act To ARM's developers "Ezekiel" <zeke@nosuchemail.com> - 2012-02-15 15:26 -0500
                Re: Reading the Riot Act To ARM's developers Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-15 21:38 +0100
                more troll spew 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-15 22:56 +0000
                Re: more troll spew Foster <frankfoster50@yahoo.com> - 2012-02-15 18:00 -0500
                Re: more troll spew Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-16 00:06 +0100
                Re: more troll spew Snit <usenet@gallopinginsanity.com> - 2012-02-15 16:28 -0700
                Re: more troll spew 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-16 19:48 +0000
                Re: more troll spew Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-16 20:57 +0100
                Re: more troll spew cc <scatnubbs@hotmail.com> - 2012-02-16 12:10 -0800
                Re: more troll spew 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-16 20:43 +0000
                Re: more troll spew Peter Köhlmann <peter-koehlmann@t-online.de> - 2012-02-16 21:45 +0100
                Re: more troll spew 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-16 21:20 +0000
                Re: more troll spew Big Steel <SteelOne@SteelOne.com> - 2012-02-15 19:37 -0500
              Re: Reading the Riot Act To ARM's developers David Brown <david@westcontrol.removethisbit.com> - 2012-02-13 09:12 +0100
      Re: Reading the Riot Act To ARM's developers Kelsey Bjarnason <kbjarnason@gmail.com> - 2012-02-11 10:34 -0800
      Re: Reading the Riot Act To ARM's developers Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-02-25 10:18 +0200
        Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-25 19:34 +0000
          Re: Reading the Riot Act To ARM's developers Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-02-27 15:52 +0200
            Re: Reading the Riot Act To ARM's developers David Brown <david.brown@removethis.hesbynett.no> - 2012-02-27 22:04 +0100
              Re: Reading the Riot Act To ARM's developers Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-03-03 02:04 +0200
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-03-03 00:20 +0000
                Re: Reading the Riot Act To ARM's developers GreyCloud <cumulus@mist.com> - 2012-03-03 00:06 -0700
                Re: Reading the Riot Act To ARM's developers Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-03-03 15:22 +0200
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-03-04 12:28 +0000
                Re: Reading the Riot Act To ARM's developers "Ezekiel" <zeke@nosuchemail.com> - 2012-03-04 09:15 -0500
                Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-03-04 21:29 +0000
            While( Ch ) if ( Ch‑1 <= 32 ) *P -= 32 ;  Jeff-Relf.Me <x@x.Invalid> - 2012-02-28 05:52 -0800
              Re: While( Ch ) if ( Ch‑1 <= 32 ) *P -= 32 ;  Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-03-03 02:09 +0200
        Re: Reading the Riot Act To ARM's developers 7 <email_at_www_at_enemygadgets_dot_com@enemygadgets.com> - 2012-02-25 19:34 +0000

csiph-web