AAX SDK 2.6.1
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_Push2ByteStructAlignment.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2014-2015, 2018, 2023 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * CONFIDENTIAL: this document contains confidential information of Avid. Do
8 * not disclose to any third party. Use of the information contained in this
9 * document is subject to an Avid SDK license.
10 *
11 */
12
62/*================================================================================================*/
63
64#ifdef _TMS320C6X
65#error "TI structure packing changes not supported"
66#elif defined (_MSC_VER)
67#pragma warning( disable : 4103 ) // used #pragma pack to change alignment
68#pragma pack(push, 2)
69#elif defined (__GNUC__)
70// Uncomment this warning suppression if you really want to apply packing to a virtual data
71// structure, but note that there is no guarantee of cross-platform compatibility for such
72// a structure. For more information, see the AAX_ALIGN_FILE_ALG macro documentation
73// #ifdef __clang__
74// #pragma clang diagnostic push
75// #pragma clang diagnostic ignored "-Wno-incompatible-ms-struct"
76// #endif
77#pragma ms_struct on
78// #ifdef __clang__
79// #pragma clang diagnostic pop
80// #endif
81#pragma pack(push, 2)
82#elif defined (__MWERKS__)
83#pragma options align=mac68k
84#else
85#error "You need to supply a pragma here to set structure alignment to 2 bytes"
86#endif
87
88// Nesting of struct alignment headers is not allowed
89#ifdef __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
90#error "Nested AAX struct alignment directives"
91#else
92#define __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
93#endif