aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/iirs_utils.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2015-09-04 21:52:38 +0200
committerTristan Gingold <tgingold@free.fr>2015-09-04 21:52:38 +0200
commit8520993b4d1eadefa488dfc96dff25333f1b19db (patch)
tree818d4fe917d3e6b765932ed3d1ab1ee70dc3c508 /src/vhdl/iirs_utils.adb
parent2d8f611cb63b72aa0373efe0ffa0df47e25519c9 (diff)
downloadghdl-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.adb37
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.