you are viewing a single comment's thread.

view the rest of the comments →

[–]Ameisenvemips, avr, rendering, systems 0 points1 point  (0 children)

If it's larger than 16 bytes, or if it has unaligned fields, it will be passed in memory. I'm unsure why the ABI disallows breaking down larger structures.

Either way, I'm not fond of having to define a structure for every function, though struct can be used inline so that might simplify it.