summaryrefslogtreecommitdiff
path: root/ortho/agcc/agcc-fe.ads
diff options
context:
space:
mode:
authorTristan Gingold2014-03-12 03:44:18 +0100
committerTristan Gingold2014-03-12 03:44:18 +0100
commit8fc7559a26a3c634b7c87ada03744f5f31637b32 (patch)
tree125b7264888d5f87f72865f20bda953a120846e8 /ortho/agcc/agcc-fe.ads
parent0594d17c40ce054f61d2a5679e377467ebc7c796 (diff)
downloadghdl-8fc7559a26a3c634b7c87ada03744f5f31637b32.tar.gz
ghdl-8fc7559a26a3c634b7c87ada03744f5f31637b32.tar.bz2
ghdl-8fc7559a26a3c634b7c87ada03744f5f31637b32.zip
Remove old and unused agcc and gcc34 subdirs.
Diffstat (limited to 'ortho/agcc/agcc-fe.ads')
-rw-r--r--ortho/agcc/agcc-fe.ads238
1 files changed, 0 insertions, 238 deletions
diff --git a/ortho/agcc/agcc-fe.ads b/ortho/agcc/agcc-fe.ads
deleted file mode 100644
index 7c2b110..0000000
--- a/ortho/agcc/agcc-fe.ads
+++ /dev/null
@@ -1,238 +0,0 @@
--- Ada bindings for GCC internals.
--- Copyright (C) 2002, 2003, 2004, 2005 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 Agcc.Trees; use Agcc.Trees;
-with Agcc.Machmode; use Agcc.Machmode;
-with Agcc.Hwint; use Agcc.Hwint;
-with Agcc.Options; use Agcc.Options;
-with Interfaces.C_Streams; use Interfaces.C_Streams;
-with C; use C;
-
-package Agcc.Fe is
- -- Subprograms that must be defined by the front-end.
-
- -- Defined in langhooks.h
- function Lang_Init_Options (Argc : Integer; Argv : C_String_Array)
- return Integer;
-
- -- Front-end function expected by GCC.
- function Lang_Handle_Option (Code : Opt_Code;
- Arg : C_String;
- Value : Integer)
- return Integer;
-
- type C_String_Acc is access C_String;
- pragma Convention (C, C_String_Acc);
-
- function Lang_Post_Options (Filename : C_String_Acc) return C_Bool;
-
- function Lang_Init return C_Bool;
-
- procedure Lang_Finish;
-
- --procedure Lang_Clear_Binding_Stack;
-
- -- Return the typed-based alias set for T, which may be an expression
- -- or a type. Return -1 if we don't do anything special.
- -- O means can alias everything.
- function Lang_Get_Alias_Set (T : Tree) return HOST_WIDE_INT;
-
- --function Lang_Expand_Constant (N : Tree) return Tree;
-
- --function Lang_Safe_From_P (Target : Rtx; Exp : Tree) return C_Bool;
-
- procedure Lang_Parse_File (Debug : C_Bool);
-
- -- Called by the back-end or by the front-end when the address of EXP
- -- must be taken.
- -- This function should found the base object (if any), and mark it as
- -- addressable (via TREE_ADDRESSABLE). It may emit a warning if this
- -- object cannot be addressable (front-end restriction).
- -- Returns TRUE in case of success, FALSE in case of failure.
- -- Note that the status is never checked by the back-end.
- function Mark_Addressable (Exp : Tree) return C_Bool;
-
- -- Possibly apply default attributes to function FUNC represented by
- -- a FUNCTION_DECL.
- procedure Insert_Default_Attributes (Func : Tree);
-
- -- Lexical scopes.
- -- Roughly speaking, it is used to mark declarations regions.
-
- -- Enter in a new lexical scope. INSIDE should be FALSE (TRUE iff called
- -- from the inside of the front end, ie from gcc internal code).
- procedure Pushlevel (Inside : C_Bool);
-
- -- Add a declaration to the current scope.
- -- Note: GCC backend expect PUSHDECL to return its argument; however,
- -- it is only seldom used. Both forms exist and are aliased with a third
- -- one which is exported under the C name.
- -- (Unfortunatly, it is not possible to export the function and to import
- -- the procedure).
- procedure Pushdecl (Decl : Tree);
- function Pushdecl (Decl : Tree) return Tree;
-
- -- This function has to be defined.
- function Exported_Pushdecl (Decl : Tree) return Tree;
-
- -- Get the declarations of the current scope.
- function Getdecls return Tree;
-
- procedure Set_Block (Block : Tree);
-
- -- Return non-zero if we are currently in the global binding level.
- function Global_Bindings_P return Integer;
-
- -- Insert BLOCK at the end of the list of subblocks of the
- -- current binding level. This is used when a BIND_EXPR is expanded,
- -- to handle the BLOCK node inside the BIND_EXPR.
- procedure Insert_Block (Block : Tree);
-
- -- Exit the current scope.
- -- FUNCTIONBODY is TRUE iff the scope corresponds to a subprogram scope.
- -- Used forms (both imported).
- procedure Poplevel (Keep : C_Bool; Revers : C_Bool; Functionbody : C_Bool);
- function Poplevel (Keep : C_Bool; Revers : C_Bool; Functionbody : C_Bool)
- return Tree;
-
- -- Exported form.
- function Exported_Poplevel
- (Keep : C_Bool; Revers : C_Bool; Functionbody : C_Bool)
- return Tree;
-
- -- Perform all the initialization steps that are language-specific.
- --procedure Lang_Init;
-
- -- Perform all the finalization steps that are language-specific.
- --procedure Lang_Finish;
-
- -- Return an integer type with the number of bits of precision given by
- -- PRECISION. UNSIGNEDP is nonzero if the type is unsigned; otherwise
- -- it is a signed type.
- function Type_For_Size (Precision : Natural; Unsignedp : C_Bool)
- return Tree;
-
- -- Return a data type that has machine mode MODE. UNSIGNEDP selects
- -- an unsigned type; otherwise a signed type is returned.
- function Type_For_Mode (Mode : Machine_Mode; Unsignedp : C_Bool)
- return Tree;
-
- -- Return the unsigned version of a TYPE_NODE, a scalar type.
- function Unsigned_Type (Type_Node : Tree) return Tree;
-
- -- Return the signed version of a TYPE_NODE, a scalar type.
- function Signed_Type (Type_Node : Tree) return Tree;
-
- -- Return a type the same as TYPE except unsigned or signed according to
- -- UNSIGNEDP.
- function Signed_Or_Unsigned_Type (Unsignedp : C_Bool; Atype : Tree)
- return Tree;
-
- -- Return a definition for a builtin function named NAME and whose data
- -- type is TYPE. TYPE should be a function type with argument types.
- -- FUNCTION_CODE tells later passes how to compile calls to this function.
- -- See tree.h for its possible values.
- --
- -- If LIBRARY_NAME is nonzero, use that for DECL_ASSEMBLER_NAME,
- -- the name to be called if we can't opencode the function.
- function Builtin_Function
- (Name: System.Address;
- Ftype : Tree;
- Function_Code : Built_In_Function;
- Class : Built_In_Class;
- Library_Name : System.Address)
- return Tree;
-
- -- Set debug flag of the parser.
- procedure Set_Yydebug (Flag : C_Bool);
-
-
- -- Hooks for print-tree.c:
- procedure Print_Lang_Decl (File : FILEs; Node : Tree; Indent : natural);
- procedure Print_Lang_Type (File : FILEs; Node : Tree; Indent : Natural);
- procedure Print_Lang_Identifier
- (File : FILEs; Node : Tree; Indent : Natural);
- procedure Lang_Print_Xnode (File : FILEs; Node : Tree; Indent : Natural);
-
- -- Print any language-specific compilation statistics.
- procedure Print_Lang_Statistics;
-
-
- -- Finish to copy a ..._DECL node (the LANG_DECL_SPECIFIC field).
- procedure Copy_Lang_Decl (Node : Tree);
-
- -- Normalize boolean value EXPR.
- function Truthvalue_Conversion (Expr : Tree) return Tree;
-
- -- Procedure called in case of sizeof applied to an incomplete type.
- procedure Incomplete_Type_Error (Value : Tree; Atype : Tree);
-
- -- This function must be defined in the language-specific files.
- -- expand_expr calls it to build the cleanup-expression for a TARGET_EXPR.
- function Maybe_Build_Cleanup (Decl : Tree) return Tree;
-
- --Language_String : constant Chars;
- Flag_Traditional : Integer := 0;
-private
- pragma Export (C, Lang_Init_Options);
- pragma Export (C, Lang_Handle_Option);
- pragma Export (C, Lang_Post_Options);
- pragma Export (C, Lang_Init);
- pragma Export (C, Lang_Finish);
- pragma Export (C, Lang_Get_Alias_Set);
-
- pragma Export (C, Lang_Parse_File);
-
- pragma Export (C, Mark_Addressable);
- pragma Export (C, Insert_Default_Attributes);
-
- pragma Import (C, Pushdecl);
- pragma Export (C, Exported_Pushdecl, "pushdecl");
- pragma Export (C, Pushlevel);
- pragma Export (C, Set_Block);
- pragma Export (C, Insert_Block);
- pragma Export (C, Global_Bindings_P);
- pragma Import (C, Poplevel);
- pragma Export (C, Exported_Poplevel, "poplevel");
- pragma Export (C, Getdecls);
-
- pragma Export (C, Type_For_Size);
- pragma Export (C, Type_For_Mode);
- pragma Export (C, Unsigned_Type);
- pragma Export (C, Signed_Type);
- pragma Export (C, Signed_Or_Unsigned_Type);
-
- pragma Export (C, Builtin_Function);
-
-
- pragma Export (C, Set_Yydebug);
-
- pragma Export (C, Print_Lang_Decl);
- pragma Export (C, Print_Lang_Type);
- pragma Export (C, Print_Lang_Identifier);
- pragma Export (C, Lang_Print_Xnode);
-
- pragma Export (C, Print_Lang_Statistics);
- pragma Export (C, Copy_Lang_Decl);
-
- pragma Export (C, Truthvalue_Conversion);
- pragma Export (C, Incomplete_Type_Error);
- pragma Export (C, Maybe_Build_Cleanup);
-
- pragma Export (C, Flag_Traditional);
-end Agcc.Fe;
-