I have included the configure, and build command below. 

This seems really easy to reproduce, 
create and array of integer values (I am unsure if integer is significant)  
the upper bound of which is determined by a function call
declare the array as volatile

+===========================GNAT BUG DETECTED==============================+
| 4.0.2 (i686-pc-cygwin) in tree_low_cst, at tree.c:3850                   |
| Error detected at mfd_transmitter.2.ada:540:9                            |
| 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).                   |
+==========================================================================+ 

This error can be avoided by using a fixed size array or removing the volatile
from the array. 


gcc -c -g -fstack-check -gnata -gnato -gnatE -gnatf -I- -gnatA -x ada
project_top.adb

$ gcc -v
Using built-in specs.
Target: i686-pc-cygwin
Configured with: ../gcc-4.0.2/configure --enable-languages=ada
--disable-win32-registry
Thread model: single
gcc version 4.0.2


-- 
           Summary: Use of volatile array with bounds determined at run
                    time.
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ben dot midgley at ultra-datel dot com
 GCC build triplet: included in description
  GCC host triplet: included in description
GCC target triplet: included in description


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

Reply via email to