This is a common C-idiom for avoiding implicit type conversions by the compiler, between types with the same runtime representation.
Alexander On Wed, Jan 28, 2015 at 4:20 PM, David Greve < david.gr...@rockwellcollins.com> wrote: > > One more and then I'll stop .. I promise. > > There appear to be numerous instances of the following design pattern: > > struct message_info { > uint32_t words[1]; > }; > > Where the above structure is then allocated locally, initialized and > returned by a procedure. > > Seems like a lot of work to return a uint32_t. > > I originally assumed that all/much of this code was generated > automatically from Haskell .. so I figured it was some odd corner case in > the translator. Subsequent discussions, however, have suggested that this > assumption is false and that the code was actually written by hand. > > I could understand using structures to present a unique, statically > checkable procedure type signature .. but I can't rationalize the use of > the single element array. > > So .. is there a reason for this curious design pattern? > > Thanks, > Dave > > _______________________________________________ > Devel mailing list > Devel@sel4.systems > https://sel4.systems/lists/listinfo/devel > >
_______________________________________________ Devel mailing list Devel@sel4.systems https://sel4.systems/lists/listinfo/devel