1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4//
5
6//
7// ===========================================================================
8// File: poppack.h
9//
10// ===========================================================================
11/*
12Abstract:
13
14 This file turns packing of structures off. (That is, it enables
15 automatic alignment of structure fields.) An include file is needed
16 because various compilers do this in different ways.
17
18 poppack.h is the complement to pshpack?.h. An inclusion of poppack.h
19 MUST ALWAYS be preceded by an inclusion of one of pshpack?.h, in one-to-one
20 correspondence.
21
22 For Microsoft compatible compilers, this file uses the pop option
23 to the pack pragma so that it can restore the previous saved by the
24 pshpack?.h include file.
25
26*/
27
28#if ! (defined(lint) || defined(RC_INVOKED))
29#if ( _MSC_VER >= 800 && !defined(_M_I86)) || defined(_PUSHPOP_SUPPORTED)
30#pragma warning(disable:4103)
31#if !(defined( MIDL_PASS )) || defined( __midl )
32#pragma pack(pop)
33#else
34#pragma pack()
35#endif
36#else
37#pragma pack()
38#endif
39#endif // ! (defined(lint) || defined(RC_INVOKED))
40