[Bug ada/33071] New: Ada 2005 ICE on limited with'ing
laguest at archangeli dot demon dot co dot uk
gcc-bugzilla@gcc.gnu.org
Tue Aug 14 18:55:00 GMT 2007
+===========================GNAT BUG DETECTED==============================+
| 4.1.2 (Ubuntu 4.1.2-0ubuntu4) (x86_64-pc-linux-gnu) Assert_Failure
sinfo.adb:351|
| Error detected at status_bar.ads:14:3 |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html. |
| Use a subject line meaningful to you and us to track the bug. |
| Include the entire contents of this bug box in the report. |
| Include the exact gcc-4.1 or gnatmake command that you entered. |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files). |
+==========================================================================+
--------------------------------------------------------------------------------
-- Tutorial to show the usage of limited with in Ada 2005.
-- Copyright (C) 2007 Luke A. Guest
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------------
with Status_Bar;
package Window is
type Window_Type is tagged private;
procedure Add_Status_Bar(
Self : in out Window_Type;
Bar : in Status_Bar.Status_Bar_Type);
private
type Window_Type is tagged
record
Bar : Status_Bar.Status_Bar_Type;
end record;
end Window;
with Ada.Text_IO;
package body Window is
procedure Add_Status_Bar(
Self : in out Window_Type;
Bar : in Status_Bar.Status_Bar_Type) is
begin
Self.Bar := Bar;
-- Status_Bar.Set_Parent(Bar, Self'Access);
Ada.Text_IO.Put_Line("Add_Status_Bar");
end Add_Status_Bar;
end Window;
limited with Window;
package Status_Bar is
type Status_Bar_Type is tagged private;
procedure Set_Parent(
Self : in Status_Bar_Type;
Parent : access Window.Window_Type'Class);
private
type Status_Bar_Type is tagged
record
Parent : access Window.Window_Type'Class;
end record;
end Status_Bar;
with Ada.Text_IO;
package body Status_Bar is
procedure Set_Parent(
Self : in Status_Bar_Type;
Parent : access Window.Window_Type'Class) is
begin
Ada.Text_IO.Put_Line("Set_Parent");
Self.Parent := Parent;
end Set_Parent;
end Status_Bar;
with Window;
with Status_Bar;
procedure Test is
Frame : aliased Window.Window_Type;
Bar : Status_Bar.Status_Bar_Type;
begin
Window.Add_Status_Bar(Frame, Bar);
end Test;
--
Summary: Ada 2005 ICE on limited with'ing
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: laguest at archangeli dot demon dot co dot uk
GCC build triplet: x86_64-pc-linux-gnu
GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33071
More information about the Gcc-bugs
mailing list