Hi Tristan,

when trying to compile svn89, I get the following error:

******************** GHDL Bug occured ****************************
Please report this bug on http://gna.org/projects/ghdl
GHDL release: GHDL 0.26dev (20060819) [Sokcho edition]
Compiled with GNAT Version: 4.1.1 20061011 (Red Hat 4.1.1-30
In directory: 
/var/tmp/ghdl-0.25-0.89svn.0-root-sailer/usr/lib/gcc/i386-fedora_ghdl-linux/4.1.1/vhdl/lib/v93/ieee/
Command line:
/home/sailer/rpmbuild/BUILD/gcc-4.1.1/obj-i386-fedora_ghdl-linux/gcc/ghdl1 
--std=93 -P../std --work=ieee -P../std/ 
-P/usr/lib/gcc/i386-fedora_ghdl-linux/4.1.1/vhdl/lib//v93/std/ -quiet -o 
timing_b.s ../../../src/vital2000/timing_b.vhdl
Exception CONSTRAINT_ERROR raised
Exception information:
Exception name: CONSTRAINT_ERROR
Message: nodes.adb:111 index check failed
Call stack traceback locations:
0x4a7dbf 0x4a7e38 0x4a808e 0x4a84d5 0x4a8645 0x805c67e 0x805dd44 0x8064423 
0x8064530 0x80ecece 0x80ed35b 0x80faad8 0x80ffdd0 0x80fff02 0x810089d 0x80ffdda 
0x80ffec2 0x810a908 0x810aba9 0x810bdcd 0x810cb27 0x8110007 0x8057cf0 0x804d216
******************************************************************

Execution terminated by unhandled exception
Exception name: CONSTRAINT_ERROR
Message: nodes.adb:111 index check failed
Call stack traceback locations:
0x4a7dbf 0x4a7e38 0x4a808e 0x4a84d5 0x4a8645 0x805c67e 0x805dd44 0x8064423 
0x8064530 0x80ecece 0x80ed35b 0x80faad8 0x80ffdd0 0x80fff02 0x810089d 0x80ffdda 
0x80ffec2 0x810a908 0x810aba9 0x810bdcd 0x810cb27 0x8110007 0x8057cf0 0x804d216



#0  0x004a861d in __gnat_rcheck_05 () from /usr/lib/libgnat-4.1.so
#1  0x0805c680 in nodes.get_nkind (n=0)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/nodes.adb:111
#2  0x0805dd46 in iirs.get_kind (an_iir=0)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/iirs.adb:149
#3  0x08064425 in iirs.check_kind_for_type (target=0)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/iirs.adb:2212
#4  0x08064532 in iirs.get_type (target=0)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/iirs.adb:2337
#5  0x080eced0 in translation.chap6.translate_name (name=0)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:13091
#6  0x080ed35d in translation.chap6.translate_name (name=3205)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:13215
#7  0x080faada in translation.chap8.translate_signal_assignment_statement (
    stmt=3206)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:20480
#8  0x080ffdd2 in translation.chap8.translate_statement (stmt=3206)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:20631
#9  0x080fff04 in translation.chap8.translate_statements_chain (first=0)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:20674
#10 0x0810089f in translation.chap8.translate_if_statement (stmt=3200)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:18313
#11 0x080ffddc in translation.chap8.translate_statement (stmt=3200)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:20614
#12 0x080ffec4 in translation.chap8.translate_statements_chain_has_return (
    first=3176)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:20687
#13 0x0810a90a in translation.chap2.translate_subprogram_body (subprg=3158)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:4974
#14 0x0810abab in translation.chap4.translate_declaration_chain_subprograms (
    parent=1184, block=0)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:10838
#15 0x0810bdcf in translation.chap2.translate_package_body (decl=1184)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:5189
#16 0x0810cb29 in translation.translate (unit=1178, main=true)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/translation.adb:26764
#17 0x08110009 in ortho_front.parse (filename=0x99637c8)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/ortho_front.adb:403
#18 0x08057cf2 in lang_parse_file (filename=0xbf81473f)
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/ortho_gcc.adb:103
#19 0x0804d218 in ortho_parse_file (debug=0) at ../../gcc/vhdl/ortho-lang.c:393
#20 0x08056e2d in toplev_main (argc=10, argv=0xbf8124e4)
    at ../../gcc/toplev.c:991
#21 0x08057e8a in ortho_gcc.main ()
    at /home/sailer/rpmbuild/BUILD/gcc-4.1.1/gcc/vhdl/ortho_gcc-main.adb:22

p input_location
$5 = (file => 0xbfa9d73f "../../../src/vital2000/timing_b.vhdl["00"]",
  line => 615)

This is i386. If you need more info, please tell me...
If I back out the following hunk, the compile works ok.

Tom


Index: sem_stmts.adb
===================================================================
--- vhdl/sem_stmts.adb  (revision 73)
+++ vhdl/sem_stmts.adb  (revision 89)
@@ -461,14 +462,18 @@
    begin
       Ok := True;
       -- Find the signal.
-      Target := Get_Target (Stmt);
-      Target := Sem_Expression (Target, Sig_Type);
-      if Target /= Null_Iir then
-         Set_Target (Stmt, Target);
-         Check_Target (Stmt, Target);
-         Sem_Types.Set_Type_Has_Signal (Get_Type (Target));
+      if Sig_Type = Null_Iir then
+         Ok := False;
       else
-         Ok := False;
+         Target := Get_Target (Stmt);
+         Target := Sem_Expression (Target, Sig_Type);
+         if Target /= Null_Iir then
+            Set_Target (Stmt, Target);
+            Check_Target (Stmt, Target);
+            Sem_Types.Set_Type_Has_Signal (Get_Type (Target));
+         else
+            Ok := False;
+         end if;
       end if;
 
       Expr := Get_Reject_Time_Expression (Stmt);



_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to