X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fabi-details.h;h=3f61191b3146cbdf38a3cac5aabd935bc63152ae;hb=c265b8f9b2d6fe70cb8d5d3b792c669f5a6e1a2a;hp=4ec7fc96ec635102871ff065e0de0d780acfd2df;hpb=66321daeda387e7fe76ac7ebfa04a44fc85e905d;p=mono.git diff --git a/mono/metadata/abi-details.h b/mono/metadata/abi-details.h index 4ec7fc96ec6..3f61191b314 100644 --- a/mono/metadata/abi-details.h +++ b/mono/metadata/abi-details.h @@ -1,5 +1,6 @@ /* * Copyright 2014 Xamarin Inc + * Licensed under the MIT license. See LICENSE file in the project root for full license information. */ #ifndef __MONO_METADATA_ABI_DETAILS_H__ #define __MONO_METADATA_ABI_DETAILS_H__ @@ -8,7 +9,8 @@ #include #define MONO_ABI_ALIGNOF(type) MONO_ALIGN_ ## type -#define MONO_CURRENT_ABI_ALIGNOF(type) ((int)G_STRUCT_OFFSET(struct { char c; type x; }, x)) +#define MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(type) typedef struct { char c; type x; } Mono_Align_Struct_ ##type; +#define MONO_CURRENT_ABI_ALIGNOF(type) ((int)G_STRUCT_OFFSET(Mono_Align_Struct_ ##type, x)) #define MONO_ABI_SIZEOF(type) MONO_SIZEOF_ ## type #define MONO_CURRENT_ABI_SIZEOF(type) ((int)sizeof(type)) @@ -21,6 +23,15 @@ #define DECL_SIZE(type) MONO_SIZEOF_ ##type = MONO_CURRENT_ABI_SIZEOF (type), #define DECL_SIZE2(type,size) MONO_SIZEOF_ ##type = size, +/* Needed by MONO_CURRENT_ABI_ALIGNOF */ +MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(gint8) +MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(gint16) +MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(gint32) +MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(gint64) +MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(float) +MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(double) +MONO_CURRENT_ABI_ALIGNOF_TYPEDEF(gpointer) + enum { #include "object-offsets.h" };