Mercurial > lcfOS
diff python/testc3.py @ 225:1c7364bd74c7
Fixed pointer deref
author | Windel Bouwman |
---|---|
date | Thu, 11 Jul 2013 07:42:30 +0200 |
parents | 848c4b15fd0b |
children | 82dfe6a32717 |
line wrap: on
line diff
--- a/python/testc3.py Tue Jul 09 17:59:15 2013 +0200 +++ b/python/testc3.py Thu Jul 11 07:42:30 2013 +0200 @@ -205,14 +205,43 @@ } """ self.expectOK(snippet) + + def testTypeDef(self): + snippet = """ + package testtypedef; + type int my_int; + function void t() + { + var my_int a; + var int b; + a = 2; + b = a + 2; + } + """ + self.expectOK(snippet) + + def testPointerType1(self): + snippet = """ + package testpointer1; + var int* pa; + function void t() + { + var int a; + pa = &a; + *pa = 22; + } + """ + self.expectOK(snippet) + def testPointerType(self): snippet = """ package testpointer; - var int* pa; + var int* pa, pb; function void t(int a, double b) { pa = &a; + pb = pa; *pa = 22; } """ @@ -234,7 +263,6 @@ """ self.expectErrors(snippet, [6, 9, 9, 10, 11]) - @unittest.skip def testComplexType(self): snippet = """ package testpointer; @@ -251,16 +279,21 @@ } my_struct; type my_struct* my_sptr; + var int* pa; function void t(int a, double b, my_sptr x) { var my_struct *msp; + var my_struct u, v; + var point *pt; + + pt = &msp->P1; msp = x; - *pa = 22; + *pa = 22 + u.mem1 * v.memb2 - u.P1.x; x->memb2 = *pa + a * b; - mxp->P1.x = a * x->P1.y; + msp->P1.x = a * x->P1.y; } """ self.expectOK(snippet)