source: CIVL/examples/languageFeatures/pointers.cvl@ c0d806d

1.23 2.0 main test-branch
Last change on this file since c0d806d was 09b9231b, checked in by Manchun Zheng <zmanchun@…>, 12 years ago

implemented assert statements with printing functionality; since $assert is redefined as a function in civlc.h, the translation in FunctionTranslator is changed and all examples using $assert is updated accordingly; translates assert() which is defined in assert.h into an assert statement; fixed warnings in mpi executor.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@536 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 405 bytes
Line 
1/* Commandline execution:
2 * civl verify pointers.cvl
3 * */
4#include<civlc.h>
5
6void passByRef(int * array) {
7 *array = 42;
8}
9
10void main() {
11 int a;
12 int* b;
13 int c[2];
14 int* d;
15 int** g;
16 int* f;
17
18 f = &a;
19 a = 1;
20 b = &a;
21 c[0] = 0;
22 c[1] = 1;
23 d = &c[1];
24 g = &d;
25 $assert(*b == 1);
26 $assert(*d == 1);
27 $assert(**g == 1);
28 $assert(g == &d);
29 passByRef(f);
30 $assert(*f == 42);
31}
Note: See TracBrowser for help on using the repository browser.