AAX SDK  2.4.1
Avid Audio Extensions Development Kit
AAX_PopStructAlignment.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright 2014-2015, 2018 by Avid Technology, Inc.
5  * All rights reserved.
6  *
7  * CONFIDENTIAL: This document contains confidential information. Do not
8  * read or examine this document unless you are an Avid Technology employee
9  * or have signed a non-disclosure agreement with Avid Technology which protects
10  * the confidentiality of this document. DO NOT DISCLOSE ANY INFORMATION
11  * CONTAINED IN THIS DOCUMENT TO ANY THIRD-PARTY WITHOUT THE PRIOR WRITTEN CONSENT
12  * OF Avid Technology, INC.
13  *
14  */
15 
40 /*================================================================================================*/
41 
42 // Nesting of struct alignment headers is not allowed
43 #ifndef __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
44 #error "No AAX struct alignment has been set. Cannot undo."
45 #else
46 #undef __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
47 #endif
48 
49 #ifdef _TMS320C6X
50 // Do nothing for TI
51 #elif defined (_MSC_VER)
52 #pragma pack(pop)
53 #elif defined (__GNUC__)
54 // Uncomment this warning suppression if you really want to apply packing to a virtual data
55 // structure, but note that there is no guarantee of cross-platform compatibility for such
56 // a structure. For more information, see the AAX_ALIGN_FILE_ALG macro documentation
57 // #ifdef __clang__
58 // #pragma clang diagnostic push
59 // #pragma clang diagnostic ignored "-Wno-incompatible-ms-struct"
60 // #endif
61 #pragma ms_struct off
62 // #ifdef __clang__
63 // #pragma clang diagnostic pop
64 // #endif
65 #pragma pack(pop)
66 #elif defined (__MWERKS__)
67 #pragma options align=reset
68 #else
69 #error "You need to supply a pragma here to pop structure packing"
70 #endif