- improve WsControl error checking
[wine.git] / include / poppack.h
blob82c83c6f97c7c03d88739bce03a36dfa492c9789
1 /*
2 * Copyright (C) 1999 Patrik Stridvall
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.
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.
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
19 #if defined(__WINE_PSHPACK_H3)
20 # ifndef __WINE_INTERNAL_POPPACK
21 # undef __WINE_PSHPACK_H3
22 # endif
23 /* Depth == 3 */
25 # if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) || defined(_MSC_VER)
26 # if __WINE_PSHPACK_H2 == 1
27 # pragma pack(1)
28 # elif __WINE_PSHPACK_H2 == 2
29 # pragma pack(2)
30 # elif __WINE_PSHPACK_H2 == 8
31 # pragma pack(8)
32 # else
33 # pragma pack(4)
34 # endif
35 # elif !defined(RC_INVOKED)
36 # error "Adjusting the alignment is not supported with this compiler"
37 # endif
39 #elif defined(__WINE_PSHPACK_H2)
40 # ifndef __WINE_INTERNAL_POPPACK
41 # undef __WINE_PSHPACK_H2
42 # endif
43 /* Depth == 2 */
45 # if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) || defined(_MSC_VER)
46 # if __WINE_PSHPACK_H == 1
47 # pragma pack(1)
48 # elif __WINE_PSHPACK_H == 2
49 # pragma pack(2)
50 # elif __WINE_PSHPACK_H == 8
51 # pragma pack(8)
52 # else
53 # pragma pack(4)
54 # endif
55 # elif !defined(RC_INVOKED)
56 # error "Adjusting the alignment is not supported with this compiler"
57 # endif
59 #elif defined(__WINE_PSHPACK_H)
60 # ifndef __WINE_INTERNAL_POPPACK
61 # undef __WINE_PSHPACK_H
62 # endif
63 /* Depth == 1 */
65 # if defined(__GNUC__) || defined(__SUNPRO_C) || defined(_MSC_VER)
66 # pragma pack()
67 # elif defined(__SUNPRO_CC)
68 # warning "Assuming a default alignment of 4"
69 # pragma pack(4)
70 # elif !defined(RC_INVOKED)
71 # error "Adjusting the alignment is not supported with this compiler"
72 # endif
74 #else
75 /* Depth == 0 ! */
77 #error "Popping alignment isn't possible since no alignment has been pushed"
79 #endif
81 #undef __WINE_INTERNAL_POPPACK