From owner-svn-src-all@freebsd.org Sat Nov 7 12:11:08 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06DA6A28540; Sat, 7 Nov 2015 12:11:08 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail110.syd.optusnet.com.au (mail110.syd.optusnet.com.au [211.29.132.97]) by mx1.freebsd.org (Postfix) with ESMTP id C016C1E15; Sat, 7 Nov 2015 12:11:07 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from c211-30-166-197.carlnfd1.nsw.optusnet.com.au (c211-30-166-197.carlnfd1.nsw.optusnet.com.au [211.30.166.197]) by mail110.syd.optusnet.com.au (Postfix) with ESMTPS id 7B5BC782F4D; Sat, 7 Nov 2015 23:11:03 +1100 (AEDT) Date: Sat, 7 Nov 2015 23:11:03 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Konstantin Belousov cc: Bruce Evans , Svatopluk Kraus , "Conrad E. Meyer" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r290475 - in head: share/man/man9 sys/kern sys/sys In-Reply-To: <20151107112149.GV2257@kib.kiev.ua> Message-ID: <20151107225124.T1837@besplex.bde.org> References: <201511070143.tA71h13k038232@repo.freebsd.org> <20151107205927.P1514@besplex.bde.org> <20151107112149.GV2257@kib.kiev.ua> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=R6/+YolX c=1 sm=1 tr=0 a=KA6XNC2GZCFrdESI5ZmdjQ==:117 a=PO7r1zJSAAAA:8 a=JzwRw_2MAAAA:8 a=kj9zAlcOel0A:10 a=JnTl4vF33SiiERkyM90A:9 a=CjuIK1q_8ugA:10 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Nov 2015 12:11:08 -0000 On Sat, 7 Nov 2015, Konstantin Belousov wrote: > On Sat, Nov 07, 2015 at 09:25:32PM +1100, Bruce Evans wrote: >> ... >> I put intptr_t in long ago, since it was more needed and >> less magic than intmax_t. This was obfuscated by moving it to >> and including that in various places. intmax_t is >> still only in which is much larger. It and uintmax_t >> should be together with intptr_t. That is more polluting in theory >> but less in practice. > > In other words, do you suggest the following change to fix the compilation ? > > diff --git a/sys/sys/_stdint.h b/sys/sys/_stdint.h > index d0f9249..a0fe0ad 100644 > --- a/sys/sys/_stdint.h > +++ b/sys/sys/_stdint.h > @@ -78,5 +78,13 @@ typedef __intptr_t intptr_t; > typedef __uintptr_t uintptr_t; > #define _UINTPTR_T_DECLARED > #endif > +#ifndef _INTMAX_T_DECLARED > +typedef __intmax_t intmax_t; > +#define _INTMAX_T_DECLARED > +#endif > +#ifndef _UINTMAX_T_DECLARED > +typedef __uintmax_t uintmax_t; > +#define _UINTMAX_T_DECLARED > +#endif > > #endif /* !_SYS__STDINT_H_ */ > ... Yes, but some source file is apparently not including . It is probably trying to be too smart and only including . This bug was detected as a side effect of growing a dependency on . The most exotic type used in is counter_u64_t. The magic for getting this defined without much namespace pollution seems to be that it is only used in a macro that is only used by source files that include . Macros often work like that. Here intmax_t is always needed since it is in an unconditional declaration. Bruce