1 /* Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 * 5 * This test ensures (at compile time) that some types have the expected size in 6 * C. The purpose is to ensure that the ABI of PPAPI is known, consistent, and 7 * stable. Only structs that have architecture-dependent size are checked by 8 * this test. These structs use at least one type which differs in size between 9 * 64-bit and 32-bit (e.g. pointers or long). By convention, we require other 10 * types to be of consistent size on 32-bit and 64-bit architectures. 11 */ 12 13 #include "ppapi/tests/all_c_includes.h" 14 15 #if !defined(__native_client__) && (defined(_M_X64) || defined(__x86_64__)) 16 /* This section is for 64-bit compilation on Windows, Mac, and Linux. Native 17 client follows ILP32 even if -m64 is used, so NaCl code is explicitly treated 18 as 32-bit. This means pointers are always 4 bytes in native client, and it 19 matches Win32 (see below). 20 */ 21 #include "ppapi/tests/arch_dependent_sizes_64.h" 22 #else 23 /* This section is for compilation on 32-bit targets plus native client (in both 24 32-bit and 64-bit mode, since native client always conforms to ILP32). 25 */ 26 #include "ppapi/tests/arch_dependent_sizes_32.h" 27 #endif 28 29