This does not happen with the 4.4.0 release but does happen with trunk 20090314 and following:
$ gcc -c -v polyorb-binding_data-giop-inet.adb Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../../SOURCES/gcc/configure --prefix=/opt/gnat/fsf --enable-languages=c,c++,ada --enable-debug BOOT_CFLAGS=-g Thread model: posix gcc version 4.5.0 20090717 (experimental) (GCC) COLLECT_GCC_OPTIONS='-c' '-v' '-mtune=generic' /opt/gnat/fsf/libexec/gcc/i686-pc-linux-gnu/4.5.0/gnat1 -quiet -dumpbase polyorb-binding_data-giop-inet.adb -auxbase polyorb-binding_data-g iop-inet -mtune=generic polyorb-binding_data-giop-inet.adb -o /tmp/ccfkgsxH.s polyorb-binding_data-giop-inet.adb: In function Polyorb.Binding_Data.Giop.Inet.Common_Unmarshall_Profile_Body: polyorb-binding_data-giop-inet.adb:266:4: error: non-trivial conversion at assignment const struct polyorb__objects__object_id___XUB * const struct ada__streams__stream_element_array___XUB * D.3963.P_BOUNDS = D.3966; polyorb-binding_data-giop-inet.adb:266:4: error: non-trivial conversion at assignment const struct polyorb__objects__object_id___XUB * const struct ada__streams__stream_element_array___XUB * D.3969.P_BOUNDS = D.3972; polyorb-binding_data-giop-inet.adb:266:4: error: non-trivial conversion at assignment const struct polyorb__objects__object_id___XUB * const struct ada__streams__stream_element_array___XUB * D.3980.P_BOUNDS = D.3983; polyorb-binding_data-giop-inet.adb:266:4: error: non-trivial conversion at assignment const struct polyorb__objects__object_id___XUB * const struct ada__streams__stream_element_array___XUB * D.3986.P_BOUNDS = D.3989; polyorb-binding_data-giop-inet.adb:266:4: error: non-trivial conversion at assignment const struct polyorb__objects__object_id___XUB * const struct ada__streams__stream_element_array___XUB * D.3992.P_BOUNDS = D.3995; polyorb-binding_data-giop-inet.adb:266:4: error: non-trivial conversion at assignment const struct polyorb__objects__object_id___XUB * const struct ada__streams__stream_element_array___XUB * D.3997.P_BOUNDS = D.4000; polyorb-binding_data-giop-inet.adb:266:4: error: non-trivial conversion at assignment const struct polyorb__objects__object_id___XUB * const struct ada__streams__stream_element_array___XUB * D.4003.P_BOUNDS = D.4006; +===========================GNAT BUG DETECTED==============================+ | 4.5.0 20090717 (experimental) (i686-pc-linux-gnu) verify_gimple failed | | Error detected around polyorb-binding_data-giop-inet.adb:266:4 | | 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. Consider also -gnatd.n switch (see debug.adb). polyorb-binding_data-giop-inet.adb polyorb-binding_data-giop-inet.ads polyorb-binding_data-giop.ads polyorb-binding_data.ads polyorb.ads polyorb-annotations.ads polyorb-utils.ads polyorb-utils-chained_lists.ads polyorb-utils-ilists.ads polyorb-components.ads polyorb-errors.ads polyorb-smart_pointers.ads polyorb-types.ads polyorb-objects.ads polyorb-qos.ads polyorb-transport.ads polyorb-asynch_ev.ads polyorb-jobs.ads polyorb-buffers.ads polyorb-opaque.ads polyorb-opaque-chunk_pools.ads polyorb-giop_p.ads polyorb-giop_p-tagged_components.ads polyorb-qos-tagged_components.ads polyorb-representations.ads polyorb-any.ads polyorb-representations-cdr.ads polyorb-utils-dynamic_tables.ads polyorb-representations-cdr-common.ads polyorb-references.ads polyorb-utils-strings.ads polyorb-giop_p-transport_mechanisms.ads polyorb-protocols.ads polyorb-any-nvlist.ads polyorb-binding_objects.ads polyorb-filters.ads polyorb-requests.ads polyorb-any-exceptionlist.ads polyorb-task_info.ads polyorb-tasking.ads polyorb-tasking-condition_variables.ads polyorb-tasking-mutexes.ads polyorb-tasking-threads.ads polyorb-utils-simple_flags.ads polyorb-protocols-giop.ads polyorb-filters-iface.ads polyorb-orb.ads polyorb-binding_objects-lists.ads polyorb-orb_controller.ads polyorb-log.ads polyorb-request_scheduler.ads polyorb-tasking-idle_tasks_managers.ads polyorb-obj_adapters.ads polyorb-servants.ads polyorb-utils-sockets.ads polyorb-any-nvlist.ads polyorb-binding_objects.ads polyorb-filters.ads polyorb-requests.ads polyorb-any-exceptionlist.ads polyorb-task_info.ads polyorb-tasking.ads polyorb-tasking-condition_variables.ads polyorb-tasking-mutexes.ads polyorb-tasking-threads.ads polyorb-utils-simple_flags.ads polyorb-protocols-giop.ads polyorb-filters-iface.ads polyorb-orb.ads polyorb-binding_objects-lists.ads polyorb-orb_controller.ads polyorb-log.ads polyorb-request_scheduler.ads polyorb-tasking-idle_tasks_managers.ads polyorb-obj_adapters.ads polyorb-servants.ads polyorb-utils-sockets.ads polyorb-sockets.ads polyorb-sockets_initialization.ads polyorb-log.adb polyorb-initialization.ads polyorb-utils-strings-lists.ads raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:415 -- Summary: verify_gimple failure preceded by "non-trivial conversion at assignment" errors Product: gcc Version: 4.5.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=40805