Home
   News
   About the project
   Language
   Compiler download
   Test suite
   Blog on the programming model
   Zonnon @ OCP Forum
   Collection of examples

TEST: 17COT02-T

category

status

Compilation and execution results for Windows (first) and Mono (second)
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 18:06
Compilation: SUCCESS
Execution: SUCCESS
PASSED Compiler: 1.2.8.0
Date, time: 2010.08.06, 22:22
Compilation: SUCCESS
Execution: SUCCESS
(0, 0) Assembly reference not resolved: System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a.

code

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  
 (**   
  * 17. Math extensions.  
  *   
  * Compatibility  
  * Positive test: math arrays and usual arrays are different types when they are function parameters;  
  * we can return any array  
  *)  
   
 module Main;  
   
 procedure {public} f (a: array * of integer; b: array * of integer): array * of integer;  
 var  
      c : array 3 of integer;  
 begin  
      c[0] := 6;  
      c[1] := 7;  
      c[2] := 6;  
      return c;  
 end f;  
   
 procedure {public} f1 (a: array {math} * of integer; b: array {math} * of integer): array * of integer;  
 var  
      c : array 3 of integer;  
 begin  
      c[0] := 8;  
      c[1] := 9;  
      c[2] := 8;  
      return c;  
 end f1;  
   
 var  
      a : array { math } 5 of integer;  
      b : array { math } 5 of integer;  
        
      d : array 4 of integer;  
      e : array 4 of integer;  
        
      c : array * of integer;  
      g : array {math} * of integer;  
 begin       
      a := [1, 2, 3, 4, 5];  
      b := [5, 4, 3, 2, 1];  
        
   
      c := f1(a,b);  
      if (c[0] # 8) or (c[1] # 9) or (c[2] # 8)  
      then  
           halt(0);  
      end;  
   
      c := f(d,e);  
      if (c[0] # 6) or (c[1] # 7) or (c[2] # 6)  
      then  
           halt(0);  
      end;  
        
      g := f(d,e);  
      if (g[0] # 6) or (g[1] # 7) or (g[2] # 6)  
      then  
           halt(0);  
      end;  
        
      halt(1);  
        
 end Main. 

information

  • PASSED - overall positive decision about the test
  • NOT PASSED - overall negative decision about the test
  • SUCCESS - compilation / execution successful
  • ERROR - compilation failed with normal syntax or semantic error
  • ABORT - compilation failed because of an internal compiler error
  • NOT RUN - the test was not / not supposed to be executed
  • FAIL - execution failed
Copyright © 2010 ETH Zurich, Switzerland