Re: What's cooking in git.git (Dec 2013, #02; Fri, 6)
- From
Thomas Rast <tr@thomasrast.ch>
- Date
- Dec 8, 2013, 10:20 UTC
- Message-ID
- <87lhzvhceb.fsf@linux-1gf2.Speedport_W723_V_Typ_A_1_00_098>
- In-Reply-To
- <52A3A1F5.3080906@gmail.com>
Karsten Blees <karsten.blees@gmail.com> writes:
Show 15 quoted lines
> Am 07.12.2013 23:23, schrieb Thomas Rast: >> Karsten Blees <karsten.blees@gmail.com> writes: >> >>> Extending 'struct hashmap_entry' with an int-sized member shouldn't waste >>> memory on 64-bit systems. This is already documented in api-hashmap.txt, >>> but needs '__attribute__((__packed__))' to work. Reduces e.g. >> >> You'd have to guard __attribute__((__packed__)) with some compiler >> detection in git-compat-util.h though. >> > > Isn't that already handled? __attribute__ is already widely used > (e.g. for printf formats), and platforms that don't support it define > it as empty (e.g. MSVC). Or do you mean I should account for > compiler-specific variants (#pragma pack...)?
True, __attribute__ expands to nothing on unknown compilers, but what does the compiler do when it sees an unknown attribute? If some of them choke, you need a separate macro.
I'm a bit confused myself though, many attributes have special macros in git-compat-util.h but others we just use in the code.
-- Thomas Rast tr@thomasrast.ch