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
Actions