| AAX SDK 2.8.0 Avid Audio Extensions Development Kit

- Welcome
- Manual
- Classes
- Files
- Lists
- Support

- File List
- File Members

Loading...
Searching...
No Matches
AAX_PopStructAlignment.h
Go to the documentation of this file.
1/*================================================================================================*/
2/*
3 *
4 * Copyright 2014-2015, 2018, 2023-2024 Avid Technology, Inc.
5 * All rights reserved.
6 *
7 * This file is part of the Avid AAX SDK.
8 *
9 * The AAX SDK is subject to commercial or open-source licensing.
10 *
11 * By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
12 * Agreement and Avid Privacy Policy.
13 *
14 * AAX SDK License: https://developer.avid.com/aax
15 * Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
16 *
17 * Or: You may also use this code under the terms of the GPL v3 (see
18 * www.gnu.org/licenses).
19 *
20 * THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
21 * EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
22 * DISCLAIMED.
23 *
24 */
25
50/*================================================================================================*/
51
52// Nesting of struct alignment headers is not allowed
53#ifndef __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
54#error "No AAX struct alignment has been set. Cannot undo."
55#else
56#undef __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
57#endif
58
59#ifdef _TMS320C6X
60// Do nothing for TI
61#elif defined (_MSC_VER)
62#pragma pack(pop)
63#elif defined (__GNUC__)
64// Uncomment this warning suppression if you really want to apply packing to a virtual data
65// structure, but note that there is no guarantee of cross-platform compatibility for such
66// a structure. For more information, see the AAX_ALIGN_FILE_ALG macro documentation
67// #ifdef __clang__
68// #pragma clang diagnostic push
69// #pragma clang diagnostic ignored "-Wno-incompatible-ms-struct"
70// #endif
71#pragma ms_struct off
72// #ifdef __clang__
73// #pragma clang diagnostic pop
74// #endif
75#pragma pack(pop)
76#elif defined (__MWERKS__)
77#pragma options align=reset
78#else
79#error "You need to supply a pragma here to pop structure packing"
80#endif