File: Test1

package info (click to toggle)
omake 0.10.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 14,076 kB
  • sloc: ml: 49,729; ansic: 5,163; makefile: 688; sh: 110
file content (83 lines) | stat: -rw-r--r-- 1,636 bytes parent folder | download | duplicates (3)
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#
# Test for placement of return expressions
#
errors = false

########################################################################
# return within foreach.
#
# This one will generate a warning, "statement not reached".
#
f() =
   foreach(x => ..., 1 2 3)
      return $x

i = $f

if $(equal $i, 1)
    println($"f() = $i [SUCCESS]")
else
    eprintln($"f() = $i [FAILURE]")
    errors = true
    export

########################################################################
# Another version, should not generate a warning.
#
f() =
    foreach(x => ..., 1 2 3)
        if $(ge $x, 2)
            return $x

i = $f

if $(equal $i, 2)
    println($"f() = $i [SUCCESS]")
else
    eprintln($"f() = $i [FAILURE]")
    errors = true
    export

########################################################################
# Follow by another return.
#
f() =
    foreach(x => ..., 1 2 3)
        if $(ge $x, 2)
            return $x
    return 0

i = $f

if $(equal $i, 2)
    println($"f() = $i [SUCCESS]")
else
    eprintln($"f() = $i [FAILURE]")
    errors = true
    export

########################################################################
# Nathan's example
#
a: b
  section
    targs[] = 1 2 3
    any-output-file(targs) =
        foreach(x => ..., $(targs))
            if $(ge $x, 2)
                return $x
        return 0
    i = $(any-output-file $(targs))

    if $(equal $i, 2)
        println($"f() = $i [SUCCESS]")
    else
        eprintln($"f() = $i [FAILURE]")
        errors = true
        export

########################################################################
# Exit code
#
if $(errors)
    exit 1