File tree Expand file tree Collapse file tree 3 files changed +25
-11
lines changed
Expand file tree Collapse file tree 3 files changed +25
-11
lines changed Original file line number Diff line number Diff line change @@ -121,6 +121,22 @@ package body GOTO_Utils is
121121 return Ret;
122122 end Symbol_Expr ;
123123
124+ procedure New_Subprogram_Symbol_Entry (Subprog_Name : Symbol_Id;
125+ Subprog_Type : Irep;
126+ A_Symbol_Table : in out Symbol_Table)
127+ is
128+ Subprog_Symbol : Symbol;
129+ begin
130+ Subprog_Symbol.Name := Subprog_Name;
131+ Subprog_Symbol.BaseName := Subprog_Name;
132+ Subprog_Symbol.PrettyName := Subprog_Name;
133+ Subprog_Symbol.SymType := Subprog_Type;
134+ Subprog_Symbol.Mode := Intern (" C" );
135+ Subprog_Symbol.Value := Make_Nil (No_Location);
136+
137+ A_Symbol_Table.Insert (Subprog_Name, Subprog_Symbol);
138+ end New_Subprogram_Symbol_Entry ;
139+
124140 procedure New_Type_Symbol_Entry (Type_Name : Symbol_Id; Type_Of_Type : Irep;
125141 A_Symbol_Table : in out Symbol_Table) is
126142 Type_Symbol : Symbol;
Original file line number Diff line number Diff line change @@ -41,6 +41,12 @@ package GOTO_Utils is
4141 function Symbol_Expr (Sym : Symbol) return Irep
4242 with Post => Kind (Symbol_Expr'Result) = I_Symbol_Expr;
4343
44+ procedure New_Subprogram_Symbol_Entry (Subprog_Name : Symbol_Id;
45+ Subprog_Type : Irep;
46+ A_Symbol_Table : in out Symbol_Table)
47+ with Pre => Kind (Subprog_Type) = I_Code_Type;
48+ -- Insert the subprogram specification into the symbol table
49+
4450 procedure New_Type_Symbol_Entry (Type_Name : Symbol_Id; Type_Of_Type : Irep;
4551 A_Symbol_Table : in out Symbol_Table)
4652 with Pre => Kind (Type_Of_Type) in Class_Type;
Original file line number Diff line number Diff line change @@ -5280,18 +5280,10 @@ package body Tree_Walk is
52805280 Do_Subprogram_Specification (N);
52815281 Subprog_Name : constant Symbol_Id :=
52825282 Intern (Unique_Name (Defining_Unit_Name (N)));
5283-
5284- Subprog_Symbol : Symbol;
5285-
52865283 begin
5287- Subprog_Symbol.Name := Subprog_Name;
5288- Subprog_Symbol.BaseName := Subprog_Name;
5289- Subprog_Symbol.PrettyName := Subprog_Name;
5290- Subprog_Symbol.SymType := Subprog_Type;
5291- Subprog_Symbol.Mode := Intern (" C" );
5292- Subprog_Symbol.Value := Make_Nil (Sloc (N));
5293-
5294- Global_Symbol_Table.Insert (Subprog_Name, Subprog_Symbol);
5284+ New_Subprogram_Symbol_Entry (Subprog_Name => Subprog_Name,
5285+ Subprog_Type => Subprog_Type,
5286+ A_Symbol_Table => Global_Symbol_Table);
52955287 end Register_Subprogram_Specification ;
52965288
52975289 -- -----------------------------
You can’t perform that action at this time.
0 commit comments