Home | History | Annotate | Download | only in tests
      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