|
From: | Dennis Clarke |
Subject: | Re: [PATCH] Pacify Oracle Studio c99 |
Date: | Tue, 27 Aug 2019 16:50:15 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Thunderbird/69.0 |
On 8/27/19 4:23 PM, Paul Eggert wrote:
Paul Smith wrote:I saw this warning on Windows as well. I seem to recall that this was done on purpose to pack data structures more tightly, which can save a lot of memory on large build systems. However looking at it now I don't think it will actually end up saving any space.I don't either. In a struct, 'unsigned int foo : 8;' should behave like 'unsigned short foo : 8;', and similarly if you change 'short' to 'char', or change '8' to '1'. At least, that should be true for typical compilers (the C standard doesn't say exactly what should happen).
Could this be a good time to point to stdint.h and uintX_t for X bits? May clarify matters. However that leads to another funny question. I have been running configure over and over on various machines with c99 type CFLAGS and also without them. One thing I do see is configure seems to be happy about "checking for good max_align_t" where we get a no for C99 and a yes if I specify no language standard at all. Well max_align_t is a C11 type of concept and seems to have no bearing on the build or tests running regardless. So I have to ask is GNU Make shooting for C89 or C99 type dialect ? Dennis
[Prev in Thread] | Current Thread | [Next in Thread] |