$ 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