diff options
Diffstat (limited to 'src/pal/inc/rt/pshpck16.h')
-rw-r--r-- | src/pal/inc/rt/pshpck16.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/pal/inc/rt/pshpck16.h b/src/pal/inc/rt/pshpck16.h new file mode 100644 index 0000000000..bb4a0e1228 --- /dev/null +++ b/src/pal/inc/rt/pshpck16.h @@ -0,0 +1,38 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +// + +// +// =========================================================================== +// File: pshpck16.h +// +// =========================================================================== + +/*++ + +Abstract: + + This file turns 16 byte packing of structures on. (That is, it disables + automatic alignment of structure fields.) An include file is needed + because various compilers do this in different ways. For Microsoft + compatible compilers, this files uses the push option to the pack pragma + so that the poppack.h include file can restore the previous packing + reliably. + + The file poppack.h is the complement to this file. + +--*/ + +#if ! (defined(lint) || defined(RC_INVOKED)) +#if ( _MSC_VER >= 800 && !defined(_M_I86)) || defined(_PUSHPOP_SUPPORTED) +#pragma warning(disable:4103) +#if !(defined( MIDL_PASS )) || defined( __midl ) +#pragma pack(push,16) +#else +#pragma pack(16) +#endif +#else +#pragma pack(16) +#endif +#endif // ! (defined(lint) || defined(RC_INVOKED)) |