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

Reply via email to