Actions
Bug #3995
closed[translator] Support for bitfields using non-constant expressions
Status:
Closed
Priority:
Normal
Assignee:
Andrei Tatarnikov
Category:
-
Target version:
-
Start date:
03/11/2013
Due date:
% Done:
100%
Estimated time:
Detected in build:
svn
Platform:
Published in build:
20140320
Description
Для правильной индентификации типов при обращении к битовым полям вычисляется размер поля (на этапе трансляции).
Индексные выражения, как правило, - статически вычисляемые константные выражения. Однако, возможны следующие варианты:
shifter_carry_out = GPR[r]<amount-1..amount-1>;
Такой код не будет транслироваться т.к. amount - не константа. Однако, размер поля можно посчтитать и видно, что он будет равен 1.
В модели ARM встречается несколько подобных симметричных конструкций. Для них можно и НУЖНО вычислять размер поля.
Files
Updated by Andrei Tatarnikov about 11 years ago
- Assignee set to Andrei Tatarnikov
Updated by Andrei Tatarnikov over 10 years ago
- File bug3995.nml bug3995.nml added
- Status changed from New to Resolved
- % Done changed from 0 to 100
В r1593 это исправлено. Пример прикреплён.
Updated by Alexander Kamkin about 10 years ago
- Status changed from Resolved to Closed
- Published in build set to 20140320
Actions