diff options
author | julien.hamaide <julien.hamaide@fishingcactus.com> | 2012-01-06 22:26:24 +0100 |
---|---|---|
committer | julien.hamaide <julien.hamaide@fishingcactus.com> | 2012-01-06 22:33:03 +0100 |
commit | 3d374428fe831a799ac042433081773434ce4065 (patch) | |
tree | bb1321189e2abe1de250951ca48ba5f153c03279 /tests | |
parent | b97c0cc2585a6617b8f170c2d8583e4c69f3f50d (diff) |
Fix handling of static variable inside function
Diffstat (limited to 'tests')
-rw-r--r-- | tests/runner.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/runner.py b/tests/runner.py index 07d55650..58e82c6b 100644 --- a/tests/runner.py +++ b/tests/runner.py @@ -3804,6 +3804,35 @@ def process(filename): return 1; } ''', 'hello world', includes=[path_from_root('tests', 'libcxx', 'include')]); + + def test_static_variable(self): + src = ''' + #include <stdio.h> + + struct DATA + { + int value; + + DATA() + { + value = 0; + } + }; + + DATA & GetData() + { + static DATA data; + + return data; + } + + int main() + { + GetData().value = 10; + printf( "value:%i", GetData().value ); + } + ''' + self.do_run(src, 'value:10') def test_cubescript(self): if self.emcc_args is not None and '-O2' in self.emcc_args: |