<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/include/stddef.h, branch releng/6.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=releng%2F6.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=releng%2F6.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2003-12-07T21:10:06Z</updated>
<entry>
<title>Change the definition of NULL on ia64 (for LP64 compilations) from</title>
<updated>2003-12-07T21:10:06Z</updated>
<author>
<name>Marcel Moolenaar</name>
<email>marcel@FreeBSD.org</email>
</author>
<published>2003-12-07T21:10:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=12eb46c8bb2bf8a79a8151f4bd96aa7ce5bfe63d'/>
<id>urn:sha1:12eb46c8bb2bf8a79a8151f4bd96aa7ce5bfe63d</id>
<content type='text'>
an int constant to a long constant. This change improves consistency
in the following two ways:
1. The first 8 arguments are always passed in registers on ia64, which
   by virtue of the generated code implicitly widens ints to longs and
   allows the use of an 32-bit integral type for 64-bit arguments.
   Subsequent arguments are passed onto the memory stack, which does
   not exhibit the same behaviour and consequently do not allow this.
   In practice this means that variadic functions taking pointers
   and given NULL (without cast) work as long as the NULL is passed
   in one of the first 8 arguments. A SIGSEGV is more likely the
   result if such would be done for stack-based arguments. This is
   due to the fact that the upper 4 bytes remain undefined.
2. All 64-bit platforms that FreeBSD supports, with the obvious
   exception of ia64, allow 32-bit integral types (specifically NULL)
   when 64-bit pointers are expected in variadic functions by way of
   how the compiler generates code. As such, code that works correctly
   (whether rightfully so or not) on any platform other than ia64, may
   fail on ia64.

To more easily allow tweaking of the definition of NULL, this commit
removes the 12 definitions in the various headers and puts it in a
new header that can be included whenever NULL is to be made visible.

This commit fixes GNOME, emacs, xemacs and a whole bunch of ports
that I don't particularly care about at this time...
</content>
</entry>
<entry>
<title>Be more explicit about a namespace by using the relatively new</title>
<updated>2002-09-01T17:57:20Z</updated>
<author>
<name>Mike Barcroft</name>
<email>mike@FreeBSD.org</email>
</author>
<published>2002-09-01T17:57:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=7b8c96a0b632649cbec502baa21a058e8006bbc2'/>
<id>urn:sha1:7b8c96a0b632649cbec502baa21a058e8006bbc2</id>
<content type='text'>
visibility primitives.
</content>
</entry>
<entry>
<title>o Merge &lt;machine/ansi.h&gt; and &lt;machine/types.h&gt; into a new header</title>
<updated>2002-08-21T16:20:02Z</updated>
<author>
<name>Mike Barcroft</name>
<email>mike@FreeBSD.org</email>
</author>
<published>2002-08-21T16:20:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=abbd8902334e8c6409384593b4a2c81f939b47b4'/>
<id>urn:sha1:abbd8902334e8c6409384593b4a2c81f939b47b4</id>
<content type='text'>
  called &lt;machine/_types.h&gt;.
o &lt;machine/ansi.h&gt; will continue to live so it can define MD clock
  macros, which are only MD because of gratuitous differences between
  architectures.
o Change all headers to make use of this.  This mainly involves
  changing:
    #ifdef _BSD_FOO_T_
    typedef	_BSD_FOO_T_	foo_t;
    #undef _BSD_FOO_T_
    #endif
  to:
    #ifndef _FOO_T_DECLARED
    typedef	__foo_t	foo_t;
    #define	_FOO_T_DECLARED
    #endif

Concept by:	bde
Reviewed by:	jake, obrien
</content>
</entry>
<entry>
<title>Don't define wchar_t if we are a C++ compiler.</title>
<updated>2002-07-09T05:13:30Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2002-07-09T05:13:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6087d2441e53d0dce1541ce9554e45c0167167d7'/>
<id>urn:sha1:6087d2441e53d0dce1541ce9554e45c0167167d7</id>
<content type='text'>
PR:		31864, 40084
</content>
</entry>
<entry>
<title>Move __offsetof() macro from &lt;machine/ansi.h&gt; to &lt;sys/cdefs.h&gt;.  It's</title>
<updated>2002-07-08T16:43:35Z</updated>
<author>
<name>Mike Barcroft</name>
<email>mike@FreeBSD.org</email>
</author>
<published>2002-07-08T16:43:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ba5fe51088001e442e0f52c609da45b43f314b48'/>
<id>urn:sha1:ba5fe51088001e442e0f52c609da45b43f314b48</id>
<content type='text'>
hardly MD, since all our platforms share the same macro.  It's not
really compiler dependent either, but this helps in reducing
&lt;machine/ansi.h&gt; to only type definitions.
</content>
</entry>
<entry>
<title>Back out rev 1.4 (wint_t and mbstate_t) as I am tired of the complaints.</title>
<updated>2001-05-24T19:29:15Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2001-05-24T19:29:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=640f0e5d3c9057c5c6b1d4101ef2bee31ed2ad86'/>
<id>urn:sha1:640f0e5d3c9057c5c6b1d4101ef2bee31ed2ad86</id>
<content type='text'>
The STLport will probably become broken again, but I'll work on fixing it
later.

I wish someone would explain why the NetBSD Cirtus branch has the types
in their stddef.h...

Requested by:	bde, ru
PR:		27606
Submitted by:	Naohiko Tsuji &lt;yakisoba@f2.dion.ne.jp&gt;
</content>
</entry>
<entry>
<title>Add mbstate_t and wint_t.</title>
<updated>2001-05-18T05:50:26Z</updated>
<author>
<name>David E. O'Brien</name>
<email>obrien@FreeBSD.org</email>
</author>
<published>2001-05-18T05:50:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ada3b4c3668a3425fe99218369a80c2aef8c006e'/>
<id>urn:sha1:ada3b4c3668a3425fe99218369a80c2aef8c006e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert all users of fldoff() to offsetof().  fldoff() is bad</title>
<updated>2000-10-27T11:45:49Z</updated>
<author>
<name>Poul-Henning Kamp</name>
<email>phk@FreeBSD.org</email>
</author>
<published>2000-10-27T11:45:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=46aa3347cb72a78253d66cee79e17413af61804c'/>
<id>urn:sha1:46aa3347cb72a78253d66cee79e17413af61804c</id>
<content type='text'>
because it only takes a struct tag which makes it impossible to
use unions, typedefs etc.

Define __offsetof() in &lt;machine/ansi.h&gt;

Define offsetof() in terms of __offsetof() in &lt;stddef.h&gt; and &lt;sys/types.h&gt;

Remove myriad of local offsetof() definitions.

Remove includes of &lt;stddef.h&gt; in kernel code.

NB: Kernelcode should *never* include from /usr/include !

Make &lt;sys/queue.h&gt; include &lt;machine/ansi.h&gt; to avoid polluting the API.

Deprecate &lt;struct.h&gt; with a warning.  The warning turns into an error on
01-12-2000 and the file gets removed entirely on 01-01-2001.

Paritials reviews by:   various.
Significant brucifications by:  bde
</content>
</entry>
<entry>
<title>Fixed longstanding namespace convolution involving rune_t vs wchar_t.</title>
<updated>1996-05-01T00:40:10Z</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1996-05-01T00:40:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=cdd84b02119661919861a0ce13cffa523d3e93a9'/>
<id>urn:sha1:cdd84b02119661919861a0ce13cffa523d3e93a9</id>
<content type='text'>
If _ANSI_SOURCE or _POSIX_SOURCE is defined, then &lt;ctype.h&gt; had to
be included before &lt;stddef.h&gt; or &lt;stdlib.h&gt; to get rune_t declared.
Now rune_t is declared perfectly bogusly in all cases when &lt;ctype.h&gt;
is included.

This change breaks similar (but more convoluted) convolutions in the
stddef.h in gcc distributions.  Ports of gcc should avoid using the
gcc headers.
</content>
</entry>
<entry>
<title>BSD 4.4 Lite Include Sources</title>
<updated>1994-05-24T09:57:34Z</updated>
<author>
<name>Rodney W. Grimes</name>
<email>rgrimes@FreeBSD.org</email>
</author>
<published>1994-05-24T09:57:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=59deaec541ae8baaa58daf6c5a2196ea7de180c3'/>
<id>urn:sha1:59deaec541ae8baaa58daf6c5a2196ea7de180c3</id>
<content type='text'>
</content>
</entry>
</feed>
