AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_Push2ByteStructAlignment.h
Go to the documentation of this file.
1 /*================================================================================================*/
2 /*
3  *
4  * Copyright (c) 2010 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 Technolgy, INC.
13  *
14  */
15 
70 /*================================================================================================*/
71 
72 
73 #ifdef _TMS320C6X
74  #error "TI structure packing changes not supported"
75 #elif defined (_MSC_VER)
76  #pragma warning( disable : 4103 ) // used #pragma pack to change alignment
77  #pragma pack(push, 2)
78 #elif defined (__GNUC__)
79  #pragma ms_struct on
80  #pragma pack(push, 2)
81 #elif defined (__MWERKS__)
82  #pragma options align=mac68k
83 #elif defined (__IAR_SYSTEMS_ICC)
84  // Do nothing for IAR Systems Embedded Workbench (Sync I/O F/W)
85 #else
86  #error "DigiError: You need to supply a pragma here to set structure alignment to 2 bytes."
87 #endif
88 
89 // Nesting of struct alignment headers is not allowed
90 #ifdef __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
91  #error "Nested AAX struct alignment directives"
92 #else
93  #define __AAX_CUSTOM_STRUCT_ALIGN_IS_SET__
94 #endif