$ gcc -v -c gcc43.adb
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../../SOURCES/gcc-4.3-20070608/configure --prefix=/usr
--enable-languages=c,c++,ada
Thread model: posix
gcc version 4.3.0 20070608 (experimental)
 /usr/libexec/gcc/i686-pc-linux-gnu/4.3.0/gnat1 -quiet -dumpbase gcc43.adb
-mtune=generic gcc43.adb -o /tmp/ccxo3ZQM.s
+===========================GNAT BUG DETECTED==============================+
| 4.3.0 20070608 (experimental) (i686-pc-linux-gnu) GCC error:             |
| in gimplify_addr_expr, at gimplify.c:3919                                |
| Error detected around gcc43.adb:28                                       |
| 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 or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

gcc43.adb
gcc43.ads

-- file: gcc43.ads
with Interfaces.C.Pointers, Interfaces.C.Strings;
with System.Storage_Elements;

package Gcc43 is

   package SSE renames System.Storage_Elements;

   package Conv is new Interfaces.C.Pointers
     (Index => SSE.Storage_Offset,
      Element => SSE.Storage_Element,
      Element_Array => SSE.Storage_Array,
      Default_Terminator => 16#00#);  -- unused

   procedure Push_To_LLAPI
     (header_len : SSE.Storage_Offset;
      header_data : Conv.Pointer;
      data_len : SSE.Storage_Offset;
      data : Conv.Pointer);

  subtype Dummy_Contents is SSE.Storage_Array (1 .. 72);

  type J3_2_Llapi_T is
    record
      Dummy : Dummy_Contents;
  end record;

end Gcc43;


-- file: gcc43.adb
with Interfaces.C.Pointers;
with Ada.Exceptions;
with System.Storage_Elements;
with Unchecked_Conversion;
with Text_IO;

package body Gcc43 is

   use type SSE.Storage_Offset;

   procedure Push_To_LLAPI
     (header_len : SSE.Storage_Offset;
      header_data : Conv.Pointer;
      data_len : SSE.Storage_Offset;
      data : Conv.Pointer) is
      Header : SSE.Storage_Array (1 .. Header_Len);
      Buf : SSE.Storage_Array (1 .. 1 + Data_Len);
      Buf_Address : constant System.Address := Buf (1)'Address;
      Ext_Track : J3_2_Llapi_T;
      pragma Import (Ada, Ext_Track);
      for Ext_Track'Address use Buf_Address;
   begin
      if Header_Len = 0 then
         return;
      end if;
      begin
         Header := Conv.Value (Header_Data, Interfaces.C.ptrdiff_t
(Header_Len));
         Buf (1) := Header (1);
         Buf (2 .. Buf'Last) := Conv.Value (Data, Interfaces.C.ptrdiff_t
(Data_Len));
      exception
         when E : others =>
            Text_IO.Put_Line ("Push_To_LLAPI: exception on assigning Buf, " &
                              Ada.Exceptions.Exception_Information (E));
      end;
   end Push_To_LLAPI;

end Gcc43;


-- 
           Summary: 4.3-20070608 gnat bug detected in gimplify_addr_expr, at
                    gimplify.c:3919
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: oliver dot kellogg at eads dot com
  GCC host triplet: i686-pc-linux-gnu


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

Reply via email to