Project

General

Profile

Actions

Bug #3995

closed

[translator] Support for bitfields using non-constant expressions

Added by Andrei Tatarnikov about 11 years ago. Updated about 10 years ago.

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

bug3995.nml (332 Bytes) bug3995.nml Andrei Tatarnikov, 01/14/2014 01:58 PM
Actions #1

Updated by Andrei Tatarnikov about 11 years ago

  • Assignee set to Andrei Tatarnikov
Actions #2

Updated by Andrei Tatarnikov over 10 years ago

В r1593 это исправлено. Пример прикреплён.

Actions #3

Updated by Alexander Kamkin about 10 years ago

  • Status changed from Resolved to Closed
  • Published in build set to 20140320
Actions

Also available in: Atom PDF