source: EcnlProtoTool/trunk/tcc-0.9.27/conftest.c@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc;charset=UTF-8
File size: 1.8 KB
Line 
1#include <stdio.h>
2
3/* Define architecture */
4#if defined(__i386__) || defined _M_IX86
5# define TRIPLET_ARCH "i386"
6#elif defined(__x86_64__) || defined _M_AMD64
7# define TRIPLET_ARCH "x86_64"
8#elif defined(__arm__)
9# define TRIPLET_ARCH "arm"
10#elif defined(__aarch64__)
11# define TRIPLET_ARCH "aarch64"
12#else
13# define TRIPLET_ARCH "unknown"
14#endif
15
16/* Define OS */
17#if defined (__linux__)
18# define TRIPLET_OS "linux"
19#elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
20# define TRIPLET_OS "kfreebsd"
21#elif defined _WIN32
22# define TRIPLET_OS "win32"
23#elif !defined (__GNU__)
24# define TRIPLET_OS "unknown"
25#endif
26
27/* Define calling convention and ABI */
28#if defined (__ARM_EABI__)
29# if defined (__ARM_PCS_VFP)
30# define TRIPLET_ABI "gnueabihf"
31# else
32# define TRIPLET_ABI "gnueabi"
33# endif
34#else
35# define TRIPLET_ABI "gnu"
36#endif
37
38#if defined _WIN32
39# define TRIPLET TRIPLET_ARCH "-" TRIPLET_OS
40#elif defined __GNU__
41# define TRIPLET TRIPLET_ARCH "-" TRIPLET_ABI
42#else
43# define TRIPLET TRIPLET_ARCH "-" TRIPLET_OS "-" TRIPLET_ABI
44#endif
45
46#if defined(_WIN32)
47int _CRT_glob = 0;
48#endif
49
50int main(int argc, char *argv[])
51{
52 switch(argc == 2 ? argv[1][0] : 0) {
53 case 'b':
54 {
55 volatile unsigned foo = 0x01234567;
56 puts(*(unsigned char*)&foo == 0x67 ? "no" : "yes");
57 break;
58 }
59#ifdef __GNUC__
60 case 'm':
61 printf("%d\n", __GNUC_MINOR__);
62 break;
63 case 'v':
64 printf("%d\n", __GNUC__);
65 break;
66#elif defined __TINYC__
67 case 'v':
68 puts("0");
69 break;
70 case 'm':
71 printf("%d\n", __TINYC__);
72 break;
73#else
74 case 'm':
75 case 'v':
76 puts("0");
77 break;
78#endif
79 case 't':
80 puts(TRIPLET);
81 break;
82
83 default:
84 break;
85 }
86 return 0;
87}
Note: See TracBrowser for help on using the repository browser.