comparison cpu_dsl.py @ 1938:1dae90605199

Fix autogenerated temp variables in interrupt subroutine in CPU DSL
author Michael Pavone <pavone@retrodev.com>
date Thu, 23 Apr 2020 20:57:14 -0700
parents 9ab5184811ea
children 7d4df6b74263
comparison
equal deleted inserted replaced
1935:f23e70fb6607 1938:1dae90605199
1595 pieces.append('\n\t{') 1595 pieces.append('\n\t{')
1596 if self.interrupt in self.subroutines: 1596 if self.interrupt in self.subroutines:
1597 pieces.append('\n\t\tif (context->cycles >= context->sync_cycle) {') 1597 pieces.append('\n\t\tif (context->cycles >= context->sync_cycle) {')
1598 self.meta = {} 1598 self.meta = {}
1599 self.temp = {} 1599 self.temp = {}
1600 self.subroutines[self.interrupt].inline(self, [], pieces, otype, None) 1600 intpieces = []
1601 self.subroutines[self.interrupt].inline(self, [], intpieces, otype, None)
1602 for size in self.temp:
1603 pieces.append('\n\tuint{sz}_t gen_tmp{sz}__;'.format(sz=size))
1604 pieces += intpieces
1601 pieces.append('\n\t\t}') 1605 pieces.append('\n\t\t}')
1602 self.meta = {} 1606 self.meta = {}
1603 self.temp = {} 1607 self.temp = {}
1604 self.subroutines[self.body].inline(self, [], pieces, otype, None) 1608 self.subroutines[self.body].inline(self, [], pieces, otype, None)
1605 pieces.append('\n\t}') 1609 pieces.append('\n\t}')