From 9143df1d51f39fe85d11ad4eb1aaa22e348bad85 Mon Sep 17 00:00:00 2001 From: Pierre d'Herbemont Date: Mon, 31 Mar 2008 14:31:26 +0200 Subject: [PATCH] loader: Upgrade pop/push pack headers from latest wine git to fix compilation on darwin. --- libs/loader/wine/poppack.h | 276 ++++++++++++++++++++++++++++++++++-- libs/loader/wine/pshpack1.h | 114 +++++++++++++-- libs/loader/wine/pshpack2.h | 119 ++++++++++++++-- 3 files changed, 473 insertions(+), 36 deletions(-) diff --git a/libs/loader/wine/poppack.h b/libs/loader/wine/poppack.h index 7104791591..e7a273f031 100644 --- a/libs/loader/wine/poppack.h +++ b/libs/loader/wine/poppack.h @@ -1,15 +1,263 @@ -#ifdef __WINE_PSHPACK_H -#undef __WINE_PSHPACK_H - -#if defined(__GNUC__) || defined(__SUNPRO_C) -#pragma pack() -#elif defined(__SUNPRO_CC) -#warning "Assumes default alignment is 4" -#pragma pack(4) -#elif !defined(RC_INVOKED) -#error "Restoration of the previous alignment isn't supported by the compiler" -#endif /* defined(__GNUC__) || defined(__SUNPRO_C) ; !defined(RC_INVOKED) */ - -#else /* defined(__WINE_PSHPACK_H) */ +/* + * Copyright (C) 1999 Patrik Stridvall + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#if defined(__WINE_PSHPACK_H15) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H15 +# endif +/* Depth == 15 */ + +# if __WINE_PSHPACK_H14 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H14 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H14 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H14) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H14 +# endif +/* Depth == 14 */ + +# if __WINE_PSHPACK_H13 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H13 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H13 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H13) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H13 +# endif +/* Depth == 13 */ + +# if __WINE_PSHPACK_H12 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H12 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H12 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H12) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H12 +# endif +/* Depth == 12 */ + +# if __WINE_PSHPACK_H11 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H11 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H11 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H11) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H11 +# endif +/* Depth == 11 */ + +# if __WINE_PSHPACK_H10 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H10 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H10 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H10) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H10 +# endif +/* Depth == 10 */ + +# if __WINE_PSHPACK_H9 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H9 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H9 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H9) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H9 +# endif +/* Depth == 9 */ + +# if __WINE_PSHPACK_H8 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H8 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H8 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H8) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H8 +# endif +/* Depth == 8 */ + +# if __WINE_PSHPACK_H7 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H7 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H7 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H7) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H7 +# endif +/* Depth == 7 */ + +# if __WINE_PSHPACK_H6 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H6 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H6 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H6) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H6 +# endif +/* Depth == 6 */ + +# if __WINE_PSHPACK_H5 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H5 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H5 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H5) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H5 +# endif +/* Depth == 5 */ + +# if __WINE_PSHPACK_H4 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H4 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H4 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H4) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H4 +# endif +/* Depth == 4 */ + +# if __WINE_PSHPACK_H3 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H3 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H3 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H3) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H3 +# endif +/* Depth == 3 */ + +# if __WINE_PSHPACK_H2 == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H2 == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H2 == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H2) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H2 +# endif +/* Depth == 2 */ + +# if __WINE_PSHPACK_H == 1 +# pragma pack(1) +# elif __WINE_PSHPACK_H == 2 +# pragma pack(2) +# elif __WINE_PSHPACK_H == 8 +# pragma pack(8) +# else +# pragma pack(4) +# endif + +#elif defined(__WINE_PSHPACK_H) +# ifndef __WINE_INTERNAL_POPPACK +# undef __WINE_PSHPACK_H +# endif +/* Depth == 1 */ + +# if defined(__SUNPRO_CC) +# warning "Assuming a default alignment of 4" +# pragma pack(4) +# else +# pragma pack() +# endif + +#else +/* Depth == 0 ! */ + #error "Popping alignment isn't possible since no alignment has been pushed" -#endif /* defined(__WINE_PSHPACK_H) */ + +#endif + +#undef __WINE_INTERNAL_POPPACK diff --git a/libs/loader/wine/pshpack1.h b/libs/loader/wine/pshpack1.h index e560250c26..dca14f63ac 100644 --- a/libs/loader/wine/pshpack1.h +++ b/libs/loader/wine/pshpack1.h @@ -1,13 +1,107 @@ -#ifndef __WINE_PSHPACK_H -#define __WINE_PSHPACK_H 1 +/* + * Copyright (C) 1999 Patrik Stridvall + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ -#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -//#pragma pack(1) -#elif !defined(RC_INVOKED) -#error "1 as alignment isn't supported by the compiler" -#endif /* defined(__GNUC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) ; !defined(RC_INVOKED) */ +#if defined(__WINE_PSHPACK_H15) -#else /* !defined(__WINE_PSHPACK_H) */ -#error "Nested pushing of alignment isn't supported by the compiler" -#endif /* !defined(__WINE_PSHPACK_H) */ +/* Depth > 15 */ +# error "Alignment nesting > 15 is not supported" +#else + +# if !defined(__WINE_PSHPACK_H) +# define __WINE_PSHPACK_H 1 +/* Depth == 1 */ +# elif !defined(__WINE_PSHPACK_H2) +# define __WINE_PSHPACK_H2 1 +/* Depth == 2 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H3) +# define __WINE_PSHPACK_H3 1 +/* Depth == 3 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H4) +# define __WINE_PSHPACK_H4 1 +/* Depth == 4 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H5) +# define __WINE_PSHPACK_H5 1 +/* Depth == 5 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H6) +# define __WINE_PSHPACK_H6 1 +/* Depth == 6 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H7) +# define __WINE_PSHPACK_H7 1 +/* Depth == 7 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H8) +# define __WINE_PSHPACK_H8 1 +/* Depth == 8 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H9) +# define __WINE_PSHPACK_H9 1 +/* Depth == 9 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H10) +# define __WINE_PSHPACK_H10 1 +/* Depth == 10 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H11) +# define __WINE_PSHPACK_H11 1 +/* Depth == 11 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H12) +# define __WINE_PSHPACK_H12 1 +/* Depth == 12 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H13) +# define __WINE_PSHPACK_H13 1 +/* Depth == 13 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H14) +# define __WINE_PSHPACK_H14 1 +/* Depth == 14 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H15) +# define __WINE_PSHPACK_H15 1 +/* Depth == 15 */ +# define __WINE_INTERNAL_POPPACK +# include +# endif + +# if defined(_MSC_VER) && (_MSC_VER >= 800) +# pragma warning(disable:4103) +# endif + +# pragma pack(1) + +#endif diff --git a/libs/loader/wine/pshpack2.h b/libs/loader/wine/pshpack2.h index 887b1e17bc..4ce42a9326 100644 --- a/libs/loader/wine/pshpack2.h +++ b/libs/loader/wine/pshpack2.h @@ -1,12 +1,107 @@ -#ifndef __WINE_PSHPACK_H -#define __WINE_PSHPACK_H 2 - -#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) -//#pragma pack(2) -#elif !defined(RC_INVOKED) -#error "2 as alignment isn't supported by the compiler" -#endif /* defined(__GNUC__) || defined(__SUNPRO_CC) ; !defined(RC_INVOKED) */ - -#else /* !defined(__WINE_PSHPACK_H) */ -#error "Nested pushing of alignment isn't supported by the compiler" -#endif /* !defined(__WINE_PSHPACK_H) */ +/* + * Copyright (C) 1999 Patrik Stridvall + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#if defined(__WINE_PSHPACK_H15) + +/* Depth > 15 */ +# error "Alignment nesting > 15 is not supported" + +#else + +# if !defined(__WINE_PSHPACK_H) +# define __WINE_PSHPACK_H 2 +/* Depth == 1 */ +# elif !defined(__WINE_PSHPACK_H2) +# define __WINE_PSHPACK_H2 2 +/* Depth == 2 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H3) +# define __WINE_PSHPACK_H3 2 +/* Depth == 3 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H4) +# define __WINE_PSHPACK_H4 2 +/* Depth == 4 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H5) +# define __WINE_PSHPACK_H5 2 +/* Depth == 5 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H6) +# define __WINE_PSHPACK_H6 2 +/* Depth == 6 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H7) +# define __WINE_PSHPACK_H7 2 +/* Depth == 7 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H8) +# define __WINE_PSHPACK_H8 2 +/* Depth == 8 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H9) +# define __WINE_PSHPACK_H9 2 +/* Depth == 9 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H10) +# define __WINE_PSHPACK_H10 2 +/* Depth == 10 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H11) +# define __WINE_PSHPACK_H11 2 +/* Depth == 11 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H12) +# define __WINE_PSHPACK_H12 2 +/* Depth == 12 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H13) +# define __WINE_PSHPACK_H13 2 +/* Depth == 13 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H14) +# define __WINE_PSHPACK_H14 2 +/* Depth == 14 */ +# define __WINE_INTERNAL_POPPACK +# include +# elif !defined(__WINE_PSHPACK_H15) +# define __WINE_PSHPACK_H15 2 +/* Depth == 15 */ +# define __WINE_INTERNAL_POPPACK +# include +# endif + +# if defined(_MSC_VER) && (_MSC_VER >= 800) +# pragma warning(disable:4103) +# endif + +# pragma pack(2) + +#endif -- 2.39.2