From 6a702100115db0557b8468e6066909a6b755bf9e Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 16 Apr 2021 06:53:48 +0200 Subject: synth: renaming (synth-static_proc -> synth-vhdl_static_proc) --- src/synth/synth-static_proc.adb | 61 ------------------------------------ src/synth/synth-static_proc.ads | 26 --------------- src/synth/synth-stmts.adb | 4 +-- src/synth/synth-vhdl_static_proc.adb | 61 ++++++++++++++++++++++++++++++++++++ src/synth/synth-vhdl_static_proc.ads | 26 +++++++++++++++ 5 files changed, 89 insertions(+), 89 deletions(-) delete mode 100644 src/synth/synth-static_proc.adb delete mode 100644 src/synth/synth-static_proc.ads create mode 100644 src/synth/synth-vhdl_static_proc.adb create mode 100644 src/synth/synth-vhdl_static_proc.ads (limited to 'src') diff --git a/src/synth/synth-static_proc.adb b/src/synth/synth-static_proc.adb deleted file mode 100644 index 5dfe354cc..000000000 --- a/src/synth/synth-static_proc.adb +++ /dev/null @@ -1,61 +0,0 @@ --- Predefined procedures --- Copyright (C) 2019 Tristan Gingold --- --- This file is part of GHDL. --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 2 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -with Vhdl.Errors; use Vhdl.Errors; - -with Synth.Values; use Synth.Values; -with Synth.Errors; use Synth.Errors; -with Synth.Vhdl_Files; use Synth.Vhdl_Files; -with Synth.Heap; - -package body Synth.Static_Proc is - - procedure Synth_Deallocate (Syn_Inst : Synth_Instance_Acc; Imp : Node) - is - Inter : constant Node := Get_Interface_Declaration_Chain (Imp); - Param : constant Valtyp := Get_Value (Syn_Inst, Inter); - Val : Heap_Index; - begin - Val := Read_Access (Param); - if Val /= Null_Heap_Index then - Synth.Heap.Synth_Deallocate (Val); - Write_Access (Param.Val.Mem, Null_Heap_Index); - end if; - end Synth_Deallocate; - - procedure Synth_Static_Procedure (Syn_Inst : Synth_Instance_Acc; - Imp : Node; - Loc : Node) is - begin - case Get_Implicit_Definition (Imp) is - when Iir_Predefined_File_Open => - Synth_File_Open (Syn_Inst, Imp, Loc); - when Iir_Predefined_File_Close => - Synth_File_Close (Syn_Inst, Imp, Loc); - when Iir_Predefined_Foreign_Untruncated_Text_Read => - Synth_Untruncated_Text_Read (Syn_Inst, Imp, Loc); - when Iir_Predefined_Deallocate => - Synth_Deallocate (Syn_Inst, Imp); - when Iir_Predefined_Read => - Synth_File_Read (Syn_Inst, Imp, Loc); - when others => - Error_Msg_Synth - (+Loc, "call to implicit %n is not supported", +Imp); - end case; - end Synth_Static_Procedure; -end Synth.Static_Proc; diff --git a/src/synth/synth-static_proc.ads b/src/synth/synth-static_proc.ads deleted file mode 100644 index 810918f36..000000000 --- a/src/synth/synth-static_proc.ads +++ /dev/null @@ -1,26 +0,0 @@ --- Predefined procedures --- Copyright (C) 2019 Tristan Gingold --- --- This file is part of GHDL. --- --- This program is free software: you can redistribute it and/or modify --- it under the terms of the GNU General Public License as published by --- the Free Software Foundation, either version 2 of the License, or --- (at your option) any later version. --- --- This program is distributed in the hope that it will be useful, --- but WITHOUT ANY WARRANTY; without even the implied warranty of --- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --- GNU General Public License for more details. --- --- You should have received a copy of the GNU General Public License --- along with this program. If not, see . - -with Synth.Vhdl_Context; use Synth.Vhdl_Context; -with Vhdl.Nodes; use Vhdl.Nodes; - -package Synth.Static_Proc is - procedure Synth_Static_Procedure (Syn_Inst : Synth_Instance_Acc; - Imp : Node; - Loc : Node); -end Synth.Static_Proc; diff --git a/src/synth/synth-stmts.adb b/src/synth/synth-stmts.adb index 8ec6fdf33..03f5de65f 100644 --- a/src/synth/synth-stmts.adb +++ b/src/synth/synth-stmts.adb @@ -44,7 +44,7 @@ with Synth.Decls; use Synth.Decls; with Synth.Expr; use Synth.Expr; with Synth.Insts; use Synth.Insts; with Synth.Source; -with Synth.Static_Proc; +with Synth.Vhdl_Static_Proc; with Synth.Heap; with Synth.Flags; with Synth.Debugger; @@ -2167,7 +2167,7 @@ package body Synth.Stmts is Synth_Subprogram_Association (Sub_Inst, Syn_Inst, Init, Infos); - Synth.Static_Proc.Synth_Static_Procedure (Sub_Inst, Imp, Call); + Synth.Vhdl_Static_Proc.Synth_Static_Procedure (Sub_Inst, Imp, Call); Synth_Subprogram_Back_Association (Sub_Inst, Syn_Inst, Init, Infos); diff --git a/src/synth/synth-vhdl_static_proc.adb b/src/synth/synth-vhdl_static_proc.adb new file mode 100644 index 000000000..4c68bb58b --- /dev/null +++ b/src/synth/synth-vhdl_static_proc.adb @@ -0,0 +1,61 @@ +-- Predefined procedures +-- Copyright (C) 2019 Tristan Gingold +-- +-- This file is part of GHDL. +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +with Vhdl.Errors; use Vhdl.Errors; + +with Synth.Values; use Synth.Values; +with Synth.Errors; use Synth.Errors; +with Synth.Vhdl_Files; use Synth.Vhdl_Files; +with Synth.Heap; + +package body Synth.Vhdl_Static_Proc is + + procedure Synth_Deallocate (Syn_Inst : Synth_Instance_Acc; Imp : Node) + is + Inter : constant Node := Get_Interface_Declaration_Chain (Imp); + Param : constant Valtyp := Get_Value (Syn_Inst, Inter); + Val : Heap_Index; + begin + Val := Read_Access (Param); + if Val /= Null_Heap_Index then + Synth.Heap.Synth_Deallocate (Val); + Write_Access (Param.Val.Mem, Null_Heap_Index); + end if; + end Synth_Deallocate; + + procedure Synth_Static_Procedure (Syn_Inst : Synth_Instance_Acc; + Imp : Node; + Loc : Node) is + begin + case Get_Implicit_Definition (Imp) is + when Iir_Predefined_File_Open => + Synth_File_Open (Syn_Inst, Imp, Loc); + when Iir_Predefined_File_Close => + Synth_File_Close (Syn_Inst, Imp, Loc); + when Iir_Predefined_Foreign_Untruncated_Text_Read => + Synth_Untruncated_Text_Read (Syn_Inst, Imp, Loc); + when Iir_Predefined_Deallocate => + Synth_Deallocate (Syn_Inst, Imp); + when Iir_Predefined_Read => + Synth_File_Read (Syn_Inst, Imp, Loc); + when others => + Error_Msg_Synth + (+Loc, "call to implicit %n is not supported", +Imp); + end case; + end Synth_Static_Procedure; +end Synth.Vhdl_Static_Proc; diff --git a/src/synth/synth-vhdl_static_proc.ads b/src/synth/synth-vhdl_static_proc.ads new file mode 100644 index 000000000..4fceb6c9d --- /dev/null +++ b/src/synth/synth-vhdl_static_proc.ads @@ -0,0 +1,26 @@ +-- Predefined procedures +-- Copyright (C) 2019 Tristan Gingold +-- +-- This file is part of GHDL. +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + +with Synth.Vhdl_Context; use Synth.Vhdl_Context; +with Vhdl.Nodes; use Vhdl.Nodes; + +package Synth.Vhdl_Static_Proc is + procedure Synth_Static_Procedure (Syn_Inst : Synth_Instance_Acc; + Imp : Node; + Loc : Node); +end Synth.Vhdl_Static_Proc; -- cgit v1.2.3