• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021, Alliance for Open Media. All rights reserved.
3  *
4  * This source code is subject to the terms of the BSD 2 Clause License and
5  * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6  * was not distributed with this source code in the LICENSE file, you can
7  * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8  * Media Patent License 1.0 was not distributed with this source code in the
9  * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10  */
11 
12 typedef struct S {
13   int x;
14   int y;
15   int z;
16 } S;
17 
18 typedef struct T {
19   S s;
20 } T;
21 
d(S * s)22 int d(S *s) {
23   ++s->x;
24   s->x--;
25   s->y = s->y + 1;
26   int *c = &s->x;
27   S ss;
28   ss.x = 1;
29   ss.x += 2;
30   ss.z *= 2;
31   return 0;
32 }
b(S * s)33 int b(S *s) {
34   d(s);
35   return 0;
36 }
c(int x)37 int c(int x) {
38   if (x) {
39     c(x - 1);
40   } else {
41     S s;
42     d(&s);
43   }
44   return 0;
45 }
a(S * s)46 int a(S *s) {
47   b(s);
48   c(1);
49   return 0;
50 }
e(void)51 int e(void) {
52   c(0);
53   return 0;
54 }
main(void)55 int main(void) {
56   int p = 3;
57   S s;
58   s.x = p + 1;
59   s.y = 2;
60   s.z = 3;
61   a(&s);
62   T t;
63   t.s.x = 3;
64 }
65