aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorjulien.hamaide <julien.hamaide@fishingcactus.com>2012-01-06 22:26:24 +0100
committerjulien.hamaide <julien.hamaide@fishingcactus.com>2012-01-06 22:33:03 +0100
commit3d374428fe831a799ac042433081773434ce4065 (patch)
treebb1321189e2abe1de250951ca48ba5f153c03279 /tests
parentb97c0cc2585a6617b8f170c2d8583e4c69f3f50d (diff)
Fix handling of static variable inside function
Diffstat (limited to 'tests')
-rw-r--r--tests/runner.py29
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: