[Bug ada/49084] [4.7 regression] bootstrap failure with Ada enabled
cestrauss at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Nov 28 01:23:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49084
--- Comment #13 from Cesar Strauss <cestrauss at gmail dot com> 2011-11-28 00:46:16 UTC ---
(In reply to comment #12)
> Zero is UNKNOWN_LOCATION. The problem is probably that the location mapping
> isn't initialized yet. What happens if you move the block in gigi:
>
> gcc_assert (Nkind (gnat_root) == N_Compilation_Unit);
>
> /* Declare the name of the compilation unit as the first global
> name in order to make the middle-end fully deterministic. */
> t = create_concat_name (Defining_Entity (Unit (gnat_root)), NULL);
> first_global_object_name = ggc_strdup (IDENTIFIER_POINTER (t));
>
> to after the immediately following loop?
+===========================GNAT BUG DETECTED==============================+
| 4.7.0 20111126 (experimental) [trunk revision 181738] (mingw32) |
| Program_Error sem_util.adb:2551 explicit raise |
| Error detected at system.ads:175:5 |
| 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). |
+==========================================================================+
(gdb) b sem_util.adb:2551
Breakpoint 8 at 0x6b40f8: file ../../../../gcc-svn-fixada/gcc/ada/sem_util.adb,
line 2551.
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) [answered Y; input not from terminal]
Starting program: c:\projetos\gcc\bld\svn\bld-fixada-3\gcc\gnat1.exe -I - -I .
-I ada -I ../../../../gcc-svn-fixada/gcc/ada -I
../../../../gcc-svn-fixada/gcc/ada/gcc-interface -gnatwa -quiet -nostdinc
-dumpbase a-charac.ads -auxbase-strip ada/a-charac.o -O2
-Wno-pedantic-ms-format -Wextra -Wall -g -gnatpg -gnata -mtune=i386 -march=i386
-gnatO ada/a-charac.o ../../../../gcc-svn-fixada/gcc/ada/a-charac.ads -o
ccOjhV0T.s
[New Thread 3492.0x804]
gnat1.exe: warning: command line option '-Wno-pedantic-ms-format' is valid for
C/C++/ObjC/ObjC++ but not for Ada [enabled by default]
Breakpoint 8, sem_util.defining_entity (n=0) at
../../../../gcc-svn-fixada/gcc/ada/sem_util.adb:2551
2551 raise Program_Error;
(gdb) p Nkind(N)
$1 = n_empty
(gdb) fr 1
#1 0x0048ff0c in gigi (gnat_root=1707, max_gnat_node=2431, number_name=1656,
nodes_ptr=0x7950020, next_node_ptr=0x78b52f8, prev_node_ptr=0x78e6050,
elists_ptr=0x7708e78, elmts_ptr=0x77094d0, strings_ptr=0x7734818,
string_chars_ptr=0x77320f0, list_headers_ptr=0x78a9760, number_file=3,
file_info_ptr=0x722fb9c, standard_boolean=12, standard_integer=27,
standard_character=72, standard_long_long_float=67,
standard_exception_type=1281, gigi_operating_mode=0) at
../../../../gcc-svn-fixada/gcc/ada/gcc-interface/trans.c:302
302 t = create_concat_name (Defining_Entity (Unit (gnat_root)), NULL);
> > (gdb) p gnat_root
> > $3 = 1707
> >
> > (gdb) p (Nodes_Ptr[(gnat_root) - 0].U.K.kind)
> > $4 = 17 '\021'
>
> Use 'call pn(gnat_root)' instead.
(gdb) call pn(gnat_root)
N_Compilation_Unit (Node_Id=1707) (source,analyzed)
Parent = <empty>
Sloc = 9966 a-charac.ads:16:12
Context_Items = List (List_Id=-99999988)
Unit = N_Package_Declaration (Node_Id=1722)
Aux_Decls_Node = N_Compilation_Unit_Aux (Node_Id=1708)
It seems OK to me on the Ada side. I wonder what makes it trigger the assertion
gcc_assert (Nkind (gnat_root) == N_Compilation_Unit)
Maybe the C accessor "Nkind" is not working well for some reason?
More information about the Gcc-bugs
mailing list