diff options
| author | Tristan Gingold <tgingold@free.fr> | 2015-09-04 21:52:38 +0200 | 
|---|---|---|
| committer | Tristan Gingold <tgingold@free.fr> | 2015-09-04 21:52:38 +0200 | 
| commit | 8520993b4d1eadefa488dfc96dff25333f1b19db (patch) | |
| tree | 818d4fe917d3e6b765932ed3d1ab1ee70dc3c508 /src/vhdl/iirs_utils.adb | |
| parent | 2d8f611cb63b72aa0373efe0ffa0df47e25519c9 (diff) | |
| download | ghdl-8520993b4d1eadefa488dfc96dff25333f1b19db.tar.gz ghdl-8520993b4d1eadefa488dfc96dff25333f1b19db.tar.bz2 ghdl-8520993b4d1eadefa488dfc96dff25333f1b19db.zip  | |
Suppress stack switching; save process state in secondary stack.
Diffstat (limited to 'src/vhdl/iirs_utils.adb')
| -rw-r--r-- | src/vhdl/iirs_utils.adb | 37 | 
1 files changed, 19 insertions, 18 deletions
diff --git a/src/vhdl/iirs_utils.adb b/src/vhdl/iirs_utils.adb index 544b0d5da..189f0f371 100644 --- a/src/vhdl/iirs_utils.adb +++ b/src/vhdl/iirs_utils.adb @@ -350,6 +350,25 @@ package body Iirs_Utils is        end if;     end Is_Signal_Name; +   function Is_Signal_Object (Name : Iir) return Boolean +   is +      Adecl: Iir; +   begin +      Adecl := Get_Object_Prefix (Name, True); +      case Get_Kind (Adecl) is +         when Iir_Kind_Signal_Declaration +           | Iir_Kind_Interface_Signal_Declaration +           | Iir_Kind_Guard_Signal_Declaration +           | Iir_Kinds_Signal_Attribute => +            return True; +         when Iir_Kind_Object_Alias_Declaration => +            --  Must have been handled by Get_Object_Prefix. +            raise Internal_Error; +         when others => +            return False; +      end case; +   end Is_Signal_Object; +     function Get_Association_Interface (Assoc : Iir) return Iir     is        Formal : Iir; @@ -1201,24 +1220,6 @@ package body Iirs_Utils is        end case;     end Get_Entity_From_Entity_Aspect; -   function Is_Signal_Object (Name : Iir) return Boolean -   is -      Adecl: Iir; -   begin -      Adecl := Get_Object_Prefix (Name, True); -      case Get_Kind (Adecl) is -         when Iir_Kind_Signal_Declaration -           | Iir_Kind_Interface_Signal_Declaration -           | Iir_Kind_Guard_Signal_Declaration -           | Iir_Kinds_Signal_Attribute => -            return True; -         when Iir_Kind_Object_Alias_Declaration => -            raise Internal_Error; -         when others => -            return False; -      end case; -   end Is_Signal_Object; -     --  LRM08 4.7 Package declarations     --  If the package header is empty, the package declared by a package     --  declaration is called a simple package.  | 
