Authors: Mike McCormack <mike@codeweavers.com>, Huw Davies <huw@codeweavers.com>
[wine] / include / pshpack1.h
1 /*
2  * Copyright (C) 1999 Patrik Stridvall
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #if defined(__WINE_PSHPACK_H3)
20
21    /* Depth > 3 */
22 #  error "Alignment nesting > 3 is not supported"
23
24 #else
25
26 #  if !defined(__WINE_PSHPACK_H)
27 #    define __WINE_PSHPACK_H  1
28      /* Depth == 1 */
29 #  elif !defined(__WINE_PSHPACK_H2)
30 #    define __WINE_PSHPACK_H2 1
31      /* Depth == 2 */
32 #    define __WINE_INTERNAL_POPPACK
33 #    include "poppack.h"
34 #  elif !defined(__WINE_PSHPACK_H3)
35 #    define __WINE_PSHPACK_H3 1
36      /* Depth == 3 */
37 #    define __WINE_INTERNAL_POPPACK
38 #    include "poppack.h"
39 #  endif
40
41 #  if _MSC_VER >= 800
42 #   pragma warning(disable:4103)
43 #  endif
44
45 #  if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) || defined(_MSC_VER)
46 #    pragma pack(1)
47 #  elif !defined(RC_INVOKED)
48 #    error "Adjusting the alignment is not supported with this compiler"
49 #  endif
50
51 #endif