github.com/gotranspile/cxgo@v0.3.7/libs/stdint_test.go (about)

     1  package libs
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/gotranspile/cxgo/types"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestStdInt(t *testing.T) {
    12  	c := types.NewEnv(types.Config32())
    13  	s := incStdInt(c, nil)
    14  	s = strings.TrimSpace(s)
    15  	s = strings.TrimSpace(s)
    16  	require.Equal(t, strings.TrimSpace(`
    17  #include <cxgo_builtin.h>
    18  #define int8_t _cxgo_sint8
    19  #define int16_t _cxgo_sint16
    20  #define int32_t _cxgo_sint32
    21  #define int64_t _cxgo_sint64
    22  
    23  #define uint8_t _cxgo_uint8
    24  #define uint16_t _cxgo_uint16
    25  #define uint32_t _cxgo_uint32
    26  #define uint64_t _cxgo_uint64
    27  
    28  #define int_least8_t _cxgo_sint8
    29  #define int_least16_t _cxgo_sint16
    30  #define int_least32_t _cxgo_sint32
    31  #define int_least64_t _cxgo_sint64
    32  
    33  #define uint_least8_t _cxgo_uint8
    34  #define uint_least16_t _cxgo_uint16
    35  #define uint_least32_t _cxgo_uint32
    36  #define uint_least64_t _cxgo_uint64
    37  
    38  #define int_fast8_t _cxgo_sint8
    39  #define int_fast16_t _cxgo_sint16
    40  #define int_fast32_t _cxgo_sint32
    41  #define int_fast64_t _cxgo_sint64
    42  
    43  #define uint_fast8_t _cxgo_uint8
    44  #define uint_fast16_t _cxgo_uint16
    45  #define uint_fast32_t _cxgo_uint32
    46  #define uint_fast64_t _cxgo_uint64
    47  
    48  typedef _cxgo_sint32 intptr_t;
    49  typedef _cxgo_uint32 uintptr_t;
    50  
    51  typedef _cxgo_sint64 intmax_t;
    52  typedef _cxgo_uint64 uintmax_t;
    53  
    54  #define INT8_MIN -128
    55  #define INT8_MAX 127u
    56  #define UINT8_MAX 255u
    57  #define INT16_MIN -32768
    58  #define INT16_MAX 32767u
    59  #define UINT16_MAX 65535u
    60  #define INT32_MIN -2147483648
    61  #define INT32_MAX 2147483647u
    62  #define UINT32_MAX 4294967295u
    63  #define INT64_MIN -9223372036854775808
    64  #define INT64_MAX 9223372036854775807u
    65  #define UINT64_MAX 18446744073709551615u
    66  
    67  #define INT_LEAST8_MIN -128
    68  #define INT_LEAST8_MAX 127u
    69  #define UINT_LEAST8_MAX 255u
    70  #define INT_LEAST16_MIN -32768
    71  #define INT_LEAST16_MAX 32767u
    72  #define UINT_LEAST16_MAX 65535u
    73  #define INT_LEAST32_MIN -2147483648
    74  #define INT_LEAST32_MAX 2147483647u
    75  #define UINT_LEAST32_MAX 4294967295u
    76  #define INT_LEAST64_MIN -9223372036854775808
    77  #define INT_LEAST64_MAX 9223372036854775807u
    78  #define UINT_LEAST64_MAX 18446744073709551615u
    79  
    80  #define INT_FAST8_MIN -128
    81  #define INT_FAST8_MAX 127u
    82  #define UINT_FAST8_MAX 255u
    83  #define INT_FAST16_MIN -32768
    84  #define INT_FAST16_MAX 32767u
    85  #define UINT_FAST16_MAX 65535u
    86  #define INT_FAST32_MIN -2147483648
    87  #define INT_FAST32_MAX 2147483647u
    88  #define UINT_FAST32_MAX 4294967295u
    89  #define INT_FAST64_MIN -9223372036854775808
    90  #define INT_FAST64_MAX 9223372036854775807u
    91  #define UINT_FAST64_MAX 18446744073709551615u
    92  
    93  #define INTPTR_MIN -2147483648
    94  #define INTPTR_MAX 2147483647u
    95  #define UINTPTR_MAX 4294967295u
    96  
    97  #define INTMAX_MIN -9223372036854775808
    98  #define INTMAX_MAX 9223372036854775807u
    99  #define UINTMAX_MAX 18446744073709551615u
   100  
   101  #define PTRDIFF_MIN -2147483648
   102  #define PTRDIFF_MAX 2147483647u
   103  
   104  #define SIZE_MAX 4294967295u
   105  
   106  #define WCHAR_MIN 0
   107  #define WCHAR_MAX 65535u
   108  
   109  #define WINT_MIN 0
   110  #define WINT_MAX 4294967295u
   111  `), strings.TrimSpace(s))
   112  }