This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ada/16525] New: 3.3.4 (i486-slackware-linux-gnu) Assert_Failure einfo.adb:435


BUGS_REPORTED 22> cat log.dm-tools
BUGS_REPORTED 16> gcc -v                                                      
Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/specs
Configured with: ../gcc-3.3.4/configure --prefix=/usr --enable-shared
--enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld
--verbose --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 3.3.4

+ gcc -c -gnatE dm-tools.adb

+===========================GNAT BUG DETECTED==============================+
| 3.3.4 (i486-slackware-linux-gnu) Assert_Failure einfo.adb:435            |
| Error detected at dm-tools.adb:4:16                                      |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| concatenated together with no headers between files.                     |
+==========================================================================+

package Dm is
   pragma Elaborate_Body;

   type    Index is new Integer;
   subtype Rank  is Index range 1..Index'Last;

   type Class_Type is (Bln,Int,Flt,Chr,Ptr,Txt,Enu,Mut,Rec,Tab,Lst);

   type Name_Record (Size : Natural) is record
         Shared : Boolean;
         Image  : String (1 .. Size);
   end record;
   type Name is access Name_Record;
   Null_Name : constant Name := null;

end Dm;
with Dm.Descriptors;

package Dm.Variables is
   pragma Elaborate_Body;

   package Dmd renames Dm.Descriptors;

   type Variable   is private;
   Null_Var        : constant Variable;

   type Mut_Value is
   record
      Descr_Index: Rank;
      Var        : Variable := Null_Var;
   end record;

   function  Descriptor_Of (Var: Variable) return Dmd.Descriptor;
   function  Get (Mut_Var: Variable) return Mut_Value;

private

   type Variable_Body;
   type Variable is access Variable_Body;

   Null_Var  : constant Variable  := null;

end Dm.Variables;
package Dm.Descriptors is
   pragma Elaborate_Body;

   type Descriptor is private;
   Null_Descr: constant Descriptor;

   type Named_Descriptor  is private;

   function Descr_Of   (Nd   : Named_Descriptor) return Descriptor;
   function Choice_Of(Mut_Descr: Descriptor; Pos: Rank) return Named_Descriptor;

private

   type Descriptor_Body (Class: Class_Type);
   type Descriptor is access Descriptor_Body;

   Null_Descr: constant Descriptor := null;

   type Named_Descriptor  is
   record
      N: Name;
      D: Descriptor;
   end record;

   Null_Named_Descr: constant Named_Descriptor := (N=>Null_Name,D=>Null_Descr);

end Dm.Descriptors;
private package Dm.Tools is
   pragma Elaborate_Body;
end Dm.Tools ;
with Dm.Descriptors;
with Dm.Variables;

package body Dm.Tools is

   package Dmd renames Dm.Descriptors;
   package Dmv renames Dm.Variables;

   generic
   procedure Gen_Sweep (From,To: in out Dmv.Variable;
                        Descr  : in     Dmd.Descriptor := Dmd.Null_Descr);

   procedure Gen_Sweep (From,To: in out Dmv.Variable;
                        Descr  : in     Dmd.Descriptor := Dmd.Null_Descr)
   is
      procedure Deep_Mut (Fd: in Dmd.Descriptor) is
         From_Mut_Val: Dmv.Mut_Value;
         To_Mut_Val  : Dmv.Mut_Value;
      begin
         From_Mut_Val := Dmv.Get(From);
         To_Mut_Val   := Dmv.Get(To  );

-- COMMENTER ICI
         Gen_Sweep (From_Mut_Val.Var,
                    To_Mut_Val  .Var,
                    Dmd.Descr_Of(Dmd.Choice_Of(Fd,From_Mut_Val.Descr_Index)));

      end Deep_Mut;
   begin
      Deep_Mut (Dmv.Descriptor_Of(From));
   end Gen_Sweep;

end Dm.Tools;

-- 
           Summary: 3.3.4 (i486-slackware-linux-gnu) Assert_Failure
                    einfo.adb:435
           Product: gcc
           Version: 3.3.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bernard dot weisser at wanadoo dot fr
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i486-slackware-linux
GCC target triplet: i486-slackware-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16525


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]