AAX SDK  2.1.1
Avid Audio Extensions Development Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AAX_Push4ByteStructAlignment.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 
69 /*================================================================================================*/
70 
71 
72 #ifdef _TMS320C6X
73  // TI is OK - 4 byte alignment is the only allowed alignment
74 #elif defined (_MSC_VER)
75  #pragma warning( disable : 4103 ) // used #pragma pack to change alignment
76  #pragma pack(push, 4)
77 #elif defined (__GNUC__)
78  #pragma ms_struct on
79  #pragma pack(push, 4)
80 #elif defined (__MWERKS__)
81  #pragma options align=mac68k
82 #elif defined (__IAR_SYSTEMS_ICC)
83  // Do nothing for IAR Systems Embedded Workbench (Sync I/O F/W)
84 #else
85  #error "DigiError: You need to supply a pragma here to set structure alignment to 4 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
94