source: EcnlProtoTool/trunk/tcc-0.9.27/tests/tests2/39_typedef.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
File size: 1.1 KB
Line 
1#include <stdio.h>
2
3typedef int MyInt;
4
5struct FunStruct
6{
7 int i;
8 int j;
9};
10
11typedef struct FunStruct MyFunStruct;
12
13typedef MyFunStruct *MoreFunThanEver;
14
15int main()
16{
17 MyInt a = 1;
18 printf("%d\n", a);
19
20 MyFunStruct b;
21 b.i = 12;
22 b.j = 34;
23 printf("%d,%d\n", b.i, b.j);
24
25 MoreFunThanEver c = &b;
26 printf("%d,%d\n", c->i, c->j);
27
28 return 0;
29}
30
31/* "If the specification of an array type includes any type qualifiers,
32 the element type is so-qualified, not the array type." */
33
34typedef int A[3];
35extern A const ca;
36extern const A ca;
37extern const int ca[3];
38
39typedef A B[1][2];
40extern B const cb;
41extern const B cb;
42extern const int cb[1][2][3];
43
44extern B b;
45extern int b[1][2][3];
46
47/* Funny but valid function declaration. */
48typedef int functype (int);
49extern functype func;
50int func(int i)
51{
52 return i + 1;
53}
54
55/* Even funnier function decl and definition using typeof. */
56int set_anon_super(void);
57int set_anon_super(void)
58{
59 return 42;
60}
61typedef int sas_type (void);
62extern typeof(set_anon_super) set_anon_super;
63extern sas_type set_anon_super;
64
65/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/
Note: See TracBrowser for help on using the repository browser.