Fix warnings that are issued by new GCC versions.

svn path=/trunk/; revision=41138
This commit is contained in:
Dmitry Gorbachev 2009-05-27 10:55:41 +00:00
parent 718fea97dd
commit db320e7765
3 changed files with 12 additions and 0 deletions

View file

@ -156,8 +156,12 @@ typedef unsigned long POINTER_64; // FIXME! HACK!!!
// Returns the byte offset of the specified structure's member
//
#ifndef FIELD_OFFSET
#ifndef __GNUC__
#define FIELD_OFFSET(Type, Field) \
((LONG)(LONG_PTR) (&(((Type *) 0)->Field)))
#else
#define FIELD_OFFSET(Type, Field) __builtin_offsetof(Type, Field)
#endif
#endif
//

View file

@ -218,7 +218,11 @@ typedef const UNICODE_STRING *PCUNICODE_STRING;
#define MAKELONG(a,b) ((LONG)(((WORD)(a))|(((DWORD)((WORD)(b)))<<16)))
#define NT_SUCCESS(x) ((x)>=0)
#if !defined(__GNUC__)
#define FIELD_OFFSET(t,f) ((LONG_PTR)&(((t*)0)->f))
#else
#define FIELD_OFFSET(t,f) __builtin_offsetof(t,f)
#endif
#define RTL_CONSTANT_STRING(s) { sizeof(s)-sizeof((s)[0]), sizeof(s), s }
#define CONTAINING_RECORD(address, type, field) ((type *)(((ULONG_PTR)address) - (ULONG_PTR)(&(((type *)0)->field))))

View file

@ -1280,7 +1280,11 @@ typedef enum {
#define RTL_CRITSECT_TYPE 0
#define RTL_RESOURCE_TYPE 1
/* Also in winddk.h */
#ifndef __GNUC__
#define FIELD_OFFSET(t,f) ((LONG_PTR)&(((t*)0)->f))
#else
#define FIELD_OFFSET(t,f) __builtin_offsetof(t,f)
#endif
#ifndef CONTAINING_RECORD
#define CONTAINING_RECORD(address, type, field) \
((type *)(((ULONG_PTR)address) - (ULONG_PTR)(&(((type *)0)->field))))