Deleted Added
full compact
stddef.h (146906) stddef.h (169699)
1/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
1/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2002, 2004
2 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation; either version 2, or (at your option)
8any later version.
9
10GCC is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with GCC; see the file COPYING. If not, write to
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GCC is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING. If not, write to
17the Free Software Foundation, 59 Temple Place - Suite 330,
18Boston, MA 02111-1307, USA. */
18the Free Software Foundation, 51 Franklin Street, Fifth Floor,
19Boston, MA 02110-1301, USA. */
19
20/* As a special exception, if you include this header file into source
21 files compiled by GCC, this header file does not by itself cause
22 the resulting executable to be covered by the GNU General Public
23 License. This exception does not however invalidate any other
24 reasons why the executable file might be covered by the GNU General
25 Public License. */
26

--- 263 unchanged lines hidden (view full) ---

290#ifdef _BSD_WCHAR_T_
291#undef _BSD_WCHAR_T_
292#ifdef _BSD_RUNE_T_
293#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
294typedef _BSD_RUNE_T_ rune_t;
295#define _BSD_WCHAR_T_DEFINED_
296#define _BSD_RUNE_T_DEFINED_ /* Darwin */
297#if defined (__FreeBSD__) && (__FreeBSD__ < 5)
20
21/* As a special exception, if you include this header file into source
22 files compiled by GCC, this header file does not by itself cause
23 the resulting executable to be covered by the GNU General Public
24 License. This exception does not however invalidate any other
25 reasons why the executable file might be covered by the GNU General
26 Public License. */
27

--- 263 unchanged lines hidden (view full) ---

291#ifdef _BSD_WCHAR_T_
292#undef _BSD_WCHAR_T_
293#ifdef _BSD_RUNE_T_
294#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
295typedef _BSD_RUNE_T_ rune_t;
296#define _BSD_WCHAR_T_DEFINED_
297#define _BSD_RUNE_T_DEFINED_ /* Darwin */
298#if defined (__FreeBSD__) && (__FreeBSD__ < 5)
298/* Why is this file so hard to maintain properly? In constrast to
299/* Why is this file so hard to maintain properly? In contrast to
299 the comment above regarding BSD/386 1.1, on FreeBSD for as long
300 as the symbol has existed, _BSD_RUNE_T_ must not stay defined or
301 redundant typedefs will occur when stdlib.h is included after this file. */
302#undef _BSD_RUNE_T_
303#endif
304#endif
305#endif
306#endif

--- 98 unchanged lines hidden (view full) ---

405#endif /* C++ */
406#endif /* G++ */
407#endif /* NULL not defined and <stddef.h> or need NULL. */
408#undef __need_NULL
409
410#ifdef _STDDEF_H
411
412/* Offset of member MEMBER in a struct of type TYPE. */
300 the comment above regarding BSD/386 1.1, on FreeBSD for as long
301 as the symbol has existed, _BSD_RUNE_T_ must not stay defined or
302 redundant typedefs will occur when stdlib.h is included after this file. */
303#undef _BSD_RUNE_T_
304#endif
305#endif
306#endif
307#endif

--- 98 unchanged lines hidden (view full) ---

406#endif /* C++ */
407#endif /* G++ */
408#endif /* NULL not defined and <stddef.h> or need NULL. */
409#undef __need_NULL
410
411#ifdef _STDDEF_H
412
413/* Offset of member MEMBER in a struct of type TYPE. */
413#ifndef __cplusplus
414#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
415#else
416/* The cast to "char &" below avoids problems with user-defined
417 "operator &", which can appear in a POD type. */
418#define offsetof(TYPE, MEMBER) \
419 (__offsetof__ (reinterpret_cast <size_t> \
420 (&reinterpret_cast <const volatile char &> \
421 (static_cast<TYPE *> (0)->MEMBER))))
422#endif /* C++ */
414#define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER)
415
423#endif /* _STDDEF_H was defined this time */
424
425#endif /* !_STDDEF_H && !_STDDEF_H_ && !_ANSI_STDDEF_H && !__STDDEF_H__
426 || __need_XXX was not defined before */
416#endif /* _STDDEF_H was defined this time */
417
418#endif /* !_STDDEF_H && !_STDDEF_H_ && !_ANSI_STDDEF_H && !__STDDEF_H__
419 || __need_XXX was not defined before */