tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: must use gcc builtin?
On Fri, 24 Feb 2012 08:57:16 +0200
Alan Barrett <apb%cequrux.com@localhost> wrote:
> On Tue, 21 Feb 2012, James K. Lowden wrote:
> > Just for fun, I thought I'd try compiling Gary Capell's
> > "wily" editor. The code is from 2006, hardly ancient. Its
> > library manipulates a va_list as pointer using assignment and
> > subtraction. AFAICT the above code makes that impossible. The
> > compiler certainly doesn't like it.
>
> We have wily-0.13.41 in pkgsrc/editors/wily, and I don't see it
> doing that sort of manipulation of va_list.
Hmm. The pkgsrc Makefile uses
ftp://ftp.cse.yorku.ca/pub/wily/src/old/. I took all three tarballs
from ftp://ftp.cse.yorku.ca/pub/wily/src. ISTR something in the README
or so indicating the editor needs the libraries, so I started compiling
them. The file I'm referring to unpacks
to ./9libs-1.0.1/libplan9c/doprint.c.
I hit the compilation error and started to consider the the technique
employed. When I'd convinced myself that it was hard to improve on,
even if nonstandard, I wrote to this list asking if requiring the
builtin was really a good idea. (I refused to call such code
"incorrect" or "broken" because I don't consider the C standard to be
the arbiter of correctness. Insofar as possible NetBSD should
permit that which is not forbidden.)
The ensuing discussion forced me to think more carefully about
stdargs. I now see the use of the builtin is helpful because it gives
the macro access to the compiler's stack strategy.
> --apb (Alan Barrett)
--jkl
Home |
Main Index |
Thread Index |
Old Index