stddef.h (132727) | stddef.h (146906) |
---|---|
1/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2002 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. --- 401 unchanged lines hidden (view full) --- 410#ifdef _STDDEF_H 411 412/* 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. */ | 1/* Copyright (C) 1989, 1997, 1998, 1999, 2000, 2002 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. --- 401 unchanged lines hidden (view full) --- 410#ifdef _STDDEF_H 411 412/* 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 420 (&reinterpret_cast <char &> \ | 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++ */ 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 */ | 421 (static_cast<TYPE *> (0)->MEMBER)))) 422#endif /* C++ */ 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 */ |