On Sun, Jul 19, 2015 at 12:34:21PM +0200 I heard the voice of
Rhialto, and lo! it spake thus:
> 
> Yes I find that terribly annoying. Conflating language features and
> library features is less than optimal I think.

Eh.  I can see both sides of it.  Life is usually more annoying but
less terrifying dealing with overly-strict than overly-loose stuff
anyway.


> (I think the same problem exists when you -D one of those POSIX
> defines, but it was a while ago that I tried and I never tried it
> since.)

Yeah, we could set them as -D's instead of defines in the header.  And
that would avoid header file ordering issues, and silence some of the
warns from flex on Fedora.  I chose not to do that for keeping the
command lines simple; we don't have _any_ -D's in the compile process
(unless you enable YACC debugging, anyway; I didn't bother messing
with that) since I setup the ctwm_config.h mechanism.  We've got -I's
(can't really get away from that) and -W's (can if you disable
warnings), but everything we reasonably can is pulled down into files.

I also avoid setting different flags onto different source files for
similar reasons.  The upshot is that, in extremis, you can hand-craft
ctwm_config.h.in -> ctwm_config.h, figure what -I's and -libs you
need, and "cc -Iwhatever *.c -o ctwm -lwhatever" to bypass everything
and build manually.  Or potentially get a few inter-file optimizations
out of the compiler, at the expense of lack of parallelism.


> A workaround is to use -std=gnu99, but that also enables the GNU
> extensions to the language.

Yeah.  And assumes a pretty gcc-like compiler.


-- 
Matthew Fuller     (MF4839)   |  [email protected]
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.

Reply via email to