This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [Ada] Bootstrapping mainline GNAT fails
- From: Zack Weinberg <zack at codesourcery dot com>
- To: Robert Dewar <dewar at gnat dot com>
- Cc: kenner at vlsi1 dot ultra dot nyu dot edu, gcc at gcc dot gnu dot org
- Date: Mon, 18 Mar 2002 18:07:41 -0800
- Subject: Re: [Ada] Bootstrapping mainline GNAT fails
- References: <20020319014745.70371F28D2@nile.gnat.com>
On Mon, Mar 18, 2002 at 08:47:45PM -0500, Robert Dewar wrote:
> <<Node 15854 has no Type_Low_Bound. I cannot figure out how to dump out
> the node attached to one of these indexes, so that's as far as I get.
> >>
>
> Nodes can conveniently be dumped with the pn procedure.
Thanks.
(gdb) p ind
$1 = 0
(gdb) p arr
$2 = 2314
(gdb) call pn(arr)
N_String_Literal (Node_Id=2314) (analyzed)
Rewritten: original node = N_Op_Concat "Oconcat" (Node_Id=15853)
Parent = N_Object_Declaration (Node_Id=2278)
Sloc = 21208 ../../../vanilla/gcc/ada/namet.adb:380:29
Is_Static_Expression = True
Etype = N_Defining_Identifier "T22b" (Entity_Id=15854)
Strval = "ab ad+ an co& di/ eq= ex**gt> ge>=le<=lt< mo mu* ne/=no or re su- xo " (String_Id=400000121)
(gdb) call pn (sinfo__etype (arr))
N_Defining_Identifier "T22b" (Entity_Id=15854)
Parent = <empty>
Sloc = 21208 ../../../vanilla/gcc/ada/namet.adb:380:29
Chars = "T22b" (Name_Id=300001919)
Next_Entity = N_Defining_Identifier "TmapS" (Entity_Id=15869)
Scope = N_Defining_Identifier "B_12" (Entity_Id=5394)
Ekind = E_String_Literal_Subtype
Etype = N_Defining_Identifier "string" (Entity_Id=22s)
Associated_Node_For_Itype = N_String_Literal (Node_Id=2314)
Esize = 0 (Uint = 600032768)
RM_Size = 0 (Uint = 600032768)
Alignment = 0 (Uint = 600032768)
String_Literal_Low_Bound = N_Integer_Literal (Node_Id=622s)
String_Literal_Length = 76 (Uint = 600032844)
Is_Constrained = True
Is_Frozen = True
Is_Internal = True
Is_Itype = True
Size_Known_At_Compile_Time = True
As previously mentioned, the routine we're in here
(sem_eval__constant_array_ref) wants node 15854 to have a
Type_Low_Bound property, which it doesn't.
Do those nodes look correct to you? Off the top of my head I'm a
little dubious about having the Etype field of a string literal point
at a Defining_Identifier -- shouldn't it be some sort of type node?
zw