source: CIVL/examples/languageFeatures/scoping.cvl@ a8ca3d3

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

only created a new scope for a compound statement (i.e., { ... }) when there are some variables declared inside the curly braces or the constant $here appears somewhere; modified languageFeatures/scoping.cvl to reflect this new change accordingly.

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

  • Property mode set to 100644
File size: 384 bytes
RevLine 
[36b5ada]1/* Commandline execution:
2 * civl verify scoping.cvl
3 * */
[793cfc2]4#include <civlc.h>
5
6void main() {
[5e88bed]7 int *p, *q;
8 $scope ms = $here;
9 $scope ps, qs;
[793cfc2]10
[5e88bed]11 {
12 p = (int *) $malloc($here, sizeof(int));
13 ps = $here;
[793cfc2]14 }
[5e88bed]15
16 {
17 ps = $here;
18 }
19
20 {
21 q = (int *) $malloc($here, sizeof(int));
22 }
23
24 {
25 qs = $here;
26 }
27 $assert(ms == (ps + qs));
28 $assert(ps != qs);
[793cfc2]29}
Note: See TracBrowser for help on using the repository browser.