aboutsummaryrefslogtreecommitdiff
path: root/third_party/libaom/source/libaom/tools/auto_refactor/c_files/simple_code.c
blob: dd89a1562161bebbe2aa79b26dae65faaae66736 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/*
 * Copyright (c) 2021, Alliance for Open Media. All rights reserved
 *
 * This source code is subject to the terms of the BSD 2 Clause License and
 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
 * was not distributed with this source code in the LICENSE file, you can
 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
 * Media Patent License 1.0 was not distributed with this source code in the
 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
 */

typedef struct S {
  int x;
  int y;
  int z;
} S;

typedef struct T {
  S s;
} T;

int d(S *s) {
  ++s->x;
  s->x--;
  s->y = s->y + 1;
  int *c = &s->x;
  S ss;
  ss.x = 1;
  ss.x += 2;
  ss.z *= 2;
  return 0;
}
int b(S *s) {
  d(s);
  return 0;
}
int c(int x) {
  if (x) {
    c(x - 1);
  } else {
    S s;
    d(&s);
  }
  return 0;
}
int a(S *s) {
  b(s);
  c(1);
  return 0;
}
int e() {
  c(0);
  return 0;
}
int main() {
  int p = 3;
  S s;
  s.x = p + 1;
  s.y = 2;
  s.z = 3;
  a(&s);
  T t;
  t.s.x = 3;
}