More refactoring of library support.
[splint-patched.git] / test / argorder.expect
blobbf0108c480784deac22d6b9ed1f8ddfe8ffc3d54
2 argorder.c: (in function f)
3 argorder.c:8:20: Argument 2 modifies z, used by argument 3 (order of evaluation
4                     of actual parameters is undefined): printf("%d %d", z++, z)
5 argorder.c:10:13: Argument 1 modifies i, used by argument 2 (order of
6     evaluation of actual parameters is undefined): f((i++, j++), (i = 3), j)
7 argorder.c:10:13: Argument 1 modifies j, used by argument 3 (order of
8     evaluation of actual parameters is undefined): f((i++, j++), (i = 3), j)
9 argorder.c:10:25: Argument 2 modifies i, used by argument 1 (order of
10     evaluation of actual parameters is undefined): f((i++, j++), (i = 3), j)
12 Finished checking --- 4 code warnings, as expected
14 argorder2.c: (in function g)
15 argorder2.c:16:12: Argument 1 modifies i, used by argument 2 (order of
16     evaluation of actual parameters is undefined): f(f(1, 2), f(1, 2))
17 argorder2.c:16:21: Argument 2 modifies i, used by argument 1 (order of
18     evaluation of actual parameters is undefined): f(f(1, 2), f(1, 2))
19 argorder2.c:17:12: Argument 1 modifies i, used by argument 2 (order of
20     evaluation of actual parameters is undefined): f(f(1, 2), h())
21 argorder2.c:18:12: Argument 1 modifies i, used by argument 2 (order of
22     evaluation of actual parameters is undefined): f(f(1, 2), i)
23 argorder2.c:19:14: Argument 1 modifies i, used by argument 2 (order of
24                       evaluation of actual parameters is undefined): f(i++, i)
26 Finished checking --- 5 code warnings, as expected
28 argorder3.c: (in function f)
29 argorder3.c:7:8: Expression has undefined behavior (value of left operand i is
30                     modified by right operand i++): i = i++
31 argorder3.c:8:11: Expression has undefined behavior (left operand uses i,
32                      modified by right operand): a[i] = i++
33 argorder3.c:9:12: Expression has undefined behavior (value of right operand
34                      modified by left operand): a[i++] = i
35 argorder3.c:10:13: Expression has undefined behavior (value of right operand
36                       modified by left operand): i++ * i
37 argorder3.c:11:12: Expression has undefined behavior (value of left operand i
38                       is modified by right operand i++): i * i++
39 argorder3.c:12:14: Expression has undefined behavior (left operand uses i,
40                       modified by right operand): --i * ++i
41 argorder3.c:12:14: Expression has undefined behavior (left operand modifies i,
42                       used by right operand): --i * ++i
43 argorder3.c:13:2: Path with no return in function declared to return int
45 Finished checking --- 8 code warnings, as expected
47 argorder4.c: (in function h)
48 argorder4.c:19:21: Expression has undefined behavior (left operand uses glob,
49                       modified by right operand): f() + g()
50 argorder4.c:25:18: Expression has undefined behavior (left operand uses glob,
51                       modified by right operand): f() + (++glob)
52 argorder4.c:29:18: Expression has undefined behavior (left operand uses glob,
53                       modified by right operand): g() + h()
54 argorder4.c:29:18: Expression has undefined behavior (left operand modifies
55                       glob, used by right operand): g() + h()
56 argorder4.c:35:16: Argument 1 modifies file system state, used by argument 2
57     (order of evaluation of actual parameters is undefined):
58     add((printf("hullo"), 3), (printf("goodbye"), 4))
59 argorder4.c:35:16: Argument 1 modifies *stdout, set by argument 2 (order of
60     evaluation of actual parameters is undefined):
61     add((printf("hullo"), 3), (printf("goodbye"), 4))
62 argorder4.c:35:38: Argument 2 modifies file system state, used by argument 1
63     (order of evaluation of actual parameters is undefined):
64     add((printf("hullo"), 3), (printf("goodbye"), 4))
65 argorder4.c:35:38: Argument 2 modifies *stdout, set by argument 1 (order of
66     evaluation of actual parameters is undefined):
67     add((printf("hullo"), 3), (printf("goodbye"), 4))
68 argorder4.c:35:10: Unreachable code: return (add((pri...
70 Finished checking --- 9 code warnings, as expected
72 argorder4.c: (in function h)
73 argorder4.c:35:10: Unreachable code: return (add((pri...
75 Finished checking --- 1 code warning, as expected
77 argorder5.c: (in function f)
78 argorder5.c:8:9: Variable name used after being released
79    argorder5.c:8:17: Storage name released
80 argorder5.c:9:19: Variable name used after being released
81    argorder5.c:9:12: Storage name released
82 argorder5.c:10:28: Argument 2 modifies *name, used by argument 1 (order of
83     evaluation of actual parameters is undefined):
84     test2(copystring(name), f(name))
86 Finished checking --- 3 code warnings, as expected