15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// YASM is written in C99 and requires <stdint.h> and <inttypes.h>. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef THIRD_PARTY_YASM_SOURCE_CONFIG_WIN_STDINT_H_ 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define THIRD_PARTY_YASM_SOURCE_CONFIG_WIN_STDINT_H_ 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if !defined(_MSC_VER) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#error This file should only be included when compiling with MSVC. 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Define C99 equivalent types. 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef signed char int8_t; 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef signed short int16_t; 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef signed int int32_t; 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef signed long long int64_t; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned char uint8_t; 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned short uint16_t; 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned int uint32_t; 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef unsigned long long uint64_t; 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Define the C99 INT64_C macro that is used for declaring 64-bit literals. 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Technically, these should only be definied when __STDC_CONSTANT_MACROS 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// is defined. 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define INT64_C(value) value##LL 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define UINT64_C(value) value##ULL 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // THIRD_PARTY_YASM_SOURCE_CONFIG_WIN_STDINT_H_ 31