summaryrefslogtreecommitdiff
path: root/ortho/mcode/ortho_mcode.private.ads
diff options
context:
space:
mode:
Diffstat (limited to 'ortho/mcode/ortho_mcode.private.ads')
-rw-r--r--ortho/mcode/ortho_mcode.private.ads151
1 files changed, 0 insertions, 151 deletions
diff --git a/ortho/mcode/ortho_mcode.private.ads b/ortho/mcode/ortho_mcode.private.ads
deleted file mode 100644
index 1b41477..0000000
--- a/ortho/mcode/ortho_mcode.private.ads
+++ /dev/null
@@ -1,151 +0,0 @@
--- Mcode back-end for ortho.
--- Copyright (C) 2006 Tristan Gingold
---
--- GHDL 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, or (at your option) any later
--- version.
---
--- GHDL 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 GCC; see the file COPYING. If not, write to the Free
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
--- 02111-1307, USA.
-with Interfaces; use Interfaces;
-with Ortho_Code; use Ortho_Code;
-with Ortho_Code.Types; use Ortho_Code.Types;
-with Ortho_Code.Consts; use Ortho_Code.Consts;
-with Ortho_Code.Decls; use Ortho_Code.Decls;
-with Ortho_Code.Exprs; use Ortho_Code.Exprs;
-
--- Interface to create nodes.
-package Ortho_Mcode is
- -- Initialize nodes.
- procedure Init;
- procedure Finish;
-
- procedure Free_All;
-
-private
- -- MCode supports nested subprograms.
- Has_Nested_Subprograms : constant Boolean := True;
-
- type O_Tnode is new Ortho_Code.O_Tnode;
- type O_Cnode is new Ortho_Code.O_Cnode;
- type O_Dnode is new Ortho_Code.O_Dnode;
- type O_Enode is new Ortho_Code.O_Enode;
- type O_Fnode is new Ortho_Code.O_Fnode;
- type O_Lnode is new Ortho_Code.O_Lnode;
- type O_Snode is new Ortho_Code.Exprs.O_Snode;
-
- O_Lnode_Null : constant O_Lnode := O_Lnode (Ortho_Code.O_Lnode_Null);
- O_Cnode_Null : constant O_Cnode := O_Cnode (Ortho_Code.O_Cnode_Null);
- O_Dnode_Null : constant O_Dnode := O_Dnode (Ortho_Code.O_Dnode_Null);
- O_Enode_Null : constant O_Enode := O_Enode (Ortho_Code.O_Enode_Null);
- O_Fnode_Null : constant O_Fnode := O_Fnode (Ortho_Code.O_Fnode_Null);
- O_Snode_Null : constant O_Snode := O_Snode (Ortho_Code.Exprs.O_Snode_Null);
- O_Tnode_Null : constant O_Tnode := O_Tnode (Ortho_Code.O_Tnode_Null);
-
- type O_Element_List is new Ortho_Code.Types.O_Element_List;
- type O_Enum_List is new Ortho_Code.Types.O_Enum_List;
- type O_Inter_List is new Ortho_Code.Decls.O_Inter_List;
- type O_Record_Aggr_List is new Ortho_Code.Consts.O_Record_Aggr_List;
- type O_Array_Aggr_List is new Ortho_Code.Consts.O_Array_Aggr_List;
- type O_Assoc_List is new Ortho_Code.Exprs.O_Assoc_List;
- type O_If_Block is new Ortho_Code.Exprs.O_If_Block;
- type O_Case_Block is new Ortho_Code.Exprs.O_Case_Block;
-
- pragma Inline (New_Lit);
- pragma Inline (New_Dyadic_Op);
- pragma Inline (New_Monadic_Op);
- pragma Inline (New_Compare_Op);
- pragma Inline (New_Signed_Literal);
- pragma Inline (New_Unsigned_Literal);
- pragma Inline (New_Float_Literal);
- pragma Inline (New_Null_Access);
-
- pragma Inline (Start_Record_Aggr);
- pragma Inline (New_Record_Aggr_El);
- pragma Inline (Finish_Record_Aggr);
-
- pragma Inline (Start_Array_Aggr);
- pragma Inline (New_Array_Aggr_El);
- pragma Inline (Finish_Array_Aggr);
-
- pragma Inline (New_Union_Aggr);
- pragma Inline (New_Sizeof);
- pragma Inline (New_Alignof);
- pragma Inline (New_Offsetof);
-
- pragma Inline (New_Indexed_Element);
- pragma Inline (New_Slice);
- pragma Inline (New_Selected_Element);
- pragma Inline (New_Access_Element);
-
- pragma Inline (New_Convert_Ov);
-
- pragma Inline (New_Address);
- pragma Inline (New_Global_Address);
- pragma Inline (New_Unchecked_Address);
- pragma Inline (New_Global_Unchecked_Address);
- pragma Inline (New_Subprogram_Address);
-
- pragma Inline (New_Value);
- pragma Inline (New_Obj_Value);
-
- pragma Inline (New_Alloca);
-
- pragma Inline (New_Debug_Filename_Decl);
- pragma Inline (New_Debug_Line_Decl);
- pragma Inline (New_Debug_Comment_Decl);
-
- pragma Inline (New_Type_Decl);
- pragma Inline (New_Const_Decl);
-
- pragma Inline (Start_Const_Value);
- pragma Inline (Finish_Const_Value);
- pragma Inline (New_Var_Decl);
-
- pragma Inline (New_Obj);
- pragma Inline (Start_Function_Decl);
- pragma Inline (Start_Procedure_Decl);
- pragma Inline (New_Interface_Decl);
- pragma Inline (Finish_Subprogram_Decl);
- pragma Inline (Start_Subprogram_Body);
- pragma Inline (Finish_Subprogram_Body);
-
- pragma Inline (New_Debug_Line_Stmt);
- pragma Inline (New_Debug_Comment_Stmt);
-
- pragma Inline (Start_Declare_Stmt);
- pragma Inline (Finish_Declare_Stmt);
-
- -- Create a function call or a procedure call.
- pragma Inline (Start_Association);
- pragma Inline (New_Association);
- pragma Inline (New_Function_Call);
- pragma Inline (New_Procedure_Call);
-
- pragma Inline (New_Assign_Stmt);
- pragma Inline (New_Return_Stmt);
- pragma Inline (Start_If_Stmt);
- pragma Inline (New_Else_Stmt);
- pragma Inline (Finish_If_Stmt);
-
- pragma Inline (Start_Loop_Stmt);
- pragma Inline (Finish_Loop_Stmt);
- pragma Inline (New_Exit_Stmt);
- pragma Inline (New_Next_Stmt);
-
- pragma Inline (Start_Case_Stmt);
- pragma Inline (Start_Choice);
- pragma Inline (New_Expr_Choice);
- pragma Inline (New_Range_Choice);
- pragma Inline (New_Default_Choice);
- pragma Inline (Finish_Choice);
- pragma Inline (Finish_Case_Stmt);
-end Ortho_Mcode;