AAX SDK 2.6.1
Avid Audio Extensions Development Kit
Loading...
Searching...
No Matches
AAX_Push8ByteStructAlignment.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
61/*================================================================================================*/
62
63#ifdef _TMS320C6X
64// TI is OK - 8 byte alignment is the only allowed alignment
65#elif defined (_MSC_VER)
66#pragma warning( disable : 4103 ) // used #pragma pack to change alignment
67#pragma pack(push, 8)
68#elif defined (__GNUC__)
69// Uncomment this warning suppression if you really want to apply packing to a virtual data
70// structure, but note that there is no guarantee of cross-platform compatibility for such
71// a structure. For more information, see the AAX_ALIGN_FILE_ALG macro documentation
72// #ifdef __clang__
73// #pragma clang diagnostic push
74// #pragma clang diagnostic ignored "-Wno-incompatible-ms-struct"
75// #endif
76#pragma ms_struct on
77// #ifdef __clang__
78// #pragma clang diagnostic pop
79// #endif
80#pragma pack(push, 8)
81#elif defined (__MWERKS__)
82#pragma options align=mac68k
83#else
84#error "You need to supply a pragma here to set structure alignment to 8 bytes"
85#endif
86
87// Nesting of struct alignment headers is not allowed
88#ifdef __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
89#error "Nested AAX struct alignment directives"
90#else
91#define __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
92#endif