diff options
author | Tristan Gingold <tgingold@free.fr> | 2014-01-04 01:53:37 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2014-01-04 01:53:37 +0100 |
commit | 82c9bea16076114ff474defcc606db041ff0c5b0 (patch) | |
tree | 544c69f60d700b761cfdd9524629da1c75a12693 /sem_stmts.adb | |
parent | 7fd6fa6d4109a177a823c6c6f5ac3137977b075f (diff) | |
download | ghdl-82c9bea16076114ff474defcc606db041ff0c5b0.tar.gz ghdl-82c9bea16076114ff474defcc606db041ff0c5b0.tar.bz2 ghdl-82c9bea16076114ff474defcc606db041ff0c5b0.zip |
sem_discrete_range_expression: be sure the range is discrete.
Allow attribute specifications on statements in entities.
(and a couples of minor crashes).
Diffstat (limited to 'sem_stmts.adb')
-rw-r--r-- | sem_stmts.adb | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sem_stmts.adb b/sem_stmts.adb index 4ae668acc..33071ab00 100644 --- a/sem_stmts.adb +++ b/sem_stmts.adb @@ -1216,7 +1216,7 @@ package body Sem_Stmts is -- Sem declarations Sem_Sequential_Labels (Get_Sequential_Statement_Chain (Body_Parent)); - Sem_Declaration_Chain (Body_Parent, False); + Sem_Declaration_Chain (Body_Parent); Sem_Specification_Chain (Body_Parent, Null_Iir); -- Sem statements. @@ -1719,9 +1719,10 @@ package body Sem_Stmts is -- FIXME: check for nature type... end Simple_Simultaneous_Statement; - procedure Sem_Concurrent_Statement_Chain - (Parent : Iir; Is_Passive : Boolean) + procedure Sem_Concurrent_Statement_Chain (Parent : Iir) is + Is_Passive : constant Boolean := + Get_Kind (Parent) = Iir_Kind_Entity_Declaration; El: Iir; Prev_El : Iir; Prev_Concurrent_Statement : Iir; @@ -1843,8 +1844,6 @@ package body Sem_Stmts is end loop; end Sem_Labels_Chain; - -- Semantize declarations and concurrent statements of ARCH, which is - -- either an architecture_declaration or a block_statement. procedure Sem_Block (Blk: Iir; Sem_Decls : Boolean) is Implicit : Implicit_Signal_Declaration_Type; @@ -1853,10 +1852,10 @@ package body Sem_Stmts is if Sem_Decls then Sem_Labels_Chain (Blk); - Sem_Declaration_Chain (Blk, False); + Sem_Declaration_Chain (Blk); end if; - Sem_Concurrent_Statement_Chain (Blk, False); + Sem_Concurrent_Statement_Chain (Blk); if Sem_Decls then -- FIXME: do it only if there is conf. spec. in the declarative |