LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 1981 - Objects of arbitrary type can be bitfields
Summary: Objects of arbitrary type can be bitfields
Status: CONFIRMED
Alias: None
Product: dragonegg
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: trunk
Hardware: Other Linux
: P enhancement
Assignee: Duncan Sands
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-02-04 14:20 PST by Duncan Sands
Modified: 2010-12-02 01:54 PST (History)
1 user (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan Sands 2008-02-04 14:20:08 PST
The Ada front-end expects the back-end to handle bitfields of
arbitrary type.  In the following example, a bitfield of struct type:

package Bit_Struct is
   type R is record
      A : Integer;
      B : String (1 .. 3);
   end record;

   type S is record
      An_R : R;
   end record;
   for S use record
      An_R at 0 range 4 .. 60;
   end record;

   An_S : constant S := (An_R => (A => 0, B => "Yo!"));
end;
Comment 1 Chris Lattner 2010-12-02 01:26:22 PST
Is this still a problem in dragonegg?  Is this (and other stuff in tools/gnat) worth tracking?
Comment 2 Duncan Sands 2010-12-02 01:54:38 PST
Moved to dragonegg.