From owner-freebsd-current Mon Oct 2 19:46:13 2000 Delivered-To: freebsd-current@freebsd.org Received: from gidora.zeta.org.au (gidora.zeta.org.au [203.26.10.25]) by hub.freebsd.org (Postfix) with SMTP id AF80937B503 for ; Mon, 2 Oct 2000 19:46:08 -0700 (PDT) Received: (qmail 7282 invoked from network); 3 Oct 2000 02:46:04 -0000 Received: from unknown (HELO bde.zeta.org.au) (203.2.228.102) by gidora.zeta.org.au with SMTP; 3 Oct 2000 02:46:04 -0000 Date: Tue, 3 Oct 2000 13:45:59 +1100 (EST) From: Bruce Evans X-Sender: bde@besplex.bde.org To: Poul-Henning Kamp Cc: current@FreeBSD.ORG Subject: Re: #include in In-Reply-To: <18798.970481178@critter> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Mon, 2 Oct 2000, Poul-Henning Kamp wrote: > Trying to compile the ircII port, it crashes with: > > ===> Building for ircii-4.4X > cc -I. -I/usr/ports/irc/ircII/work/ircii-4.4X/include -O -pipe -DHAVE_CONFIG_H -c /usr/ports/irc/ircII/work/ircii-4.4X/source/alias.c > In file included from /usr/include/sys/queue.h:40, > from /usr/include/netinet6/in6.h:76, > from /usr/include/netinet/in.h:475, > from /usr/ports/irc/ircII/work/ircii-4.4X/include/irc.h:79, > from /usr/ports/irc/ircII/work/ircii-4.4X/source/alias.c:35: > /usr/ports/irc/ircII/work/ircii-4.4X/include/struct.h:51: syntax error before `_' > > This is because there is a file called "struct.h" in the ircII distribution. > > The addition of #include to looks a bit unsettling > to me: A sys/* file shouldn't reference a /usr/include file I think ? I corresponded with the author of this bug soon after it was committed, but didn't follow up. > Is the correct thing not to mv to , create > a which just pulls in and have > #include ? Of course not. Just expand the one macro that is used (strbase()) in the one place that it is used in . I think should have been removed when offsetof() became standard. It was only used in one place in /usr/src (lastcomm). Only the fldsiz() macro is used there. defines 2 other macros: fldoff() and strbase(). fldoff() is a bad version of offsetof() (one that takes a struct tag instead of a type, so it can't be used with typedefed structs). strbase() is now used in . It is easy to implement directly using offsetof(). Unfortunately, if it is implemented using offsetof(), then will depend on . Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message