aboutsummaryrefslogtreecommitdiffstats
path: root/ortho/llvm/ortho_llvm.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2014-03-08 07:04:05 +0100
committerTristan Gingold <tgingold@free.fr>2014-03-08 07:04:05 +0100
commite6001445a14d5e96db78ff56c68d8ae96dec0968 (patch)
tree77394e40d752c04e5f4ce61b0c868aa2d4b06fa3 /ortho/llvm/ortho_llvm.ads
parentd9bb785009b005cc314f063ae05b8974fd8f4bf2 (diff)
downloadghdl-e6001445a14d5e96db78ff56c68d8ae96dec0968.tar.gz
ghdl-e6001445a14d5e96db78ff56c68d8ae96dec0968.tar.bz2
ghdl-e6001445a14d5e96db78ff56c68d8ae96dec0968.zip
Share spec of ortho_nodes, adjust code.
Diffstat (limited to 'ortho/llvm/ortho_llvm.ads')
-rw-r--r--ortho/llvm/ortho_llvm.ads35
1 files changed, 18 insertions, 17 deletions
diff --git a/ortho/llvm/ortho_llvm.ads b/ortho/llvm/ortho_llvm.ads
index 070bec6d6..30245b833 100644
--- a/ortho/llvm/ortho_llvm.ads
+++ b/ortho/llvm/ortho_llvm.ads
@@ -1,3 +1,6 @@
+-- DO NOT MODIFY - this file was generated from:
+-- ortho_nodes.common.ads and ortho_llvm.private.ads
+--
-- LLVM back-end for ortho.
-- Copyright (C) 2014 Tristan Gingold
--
@@ -24,27 +27,26 @@ with LLVM.Core;
-- Interface to create nodes.
package Ortho_LLVM is
- --- PUBLIC DECLARATIONS
+ procedure Finish_Debug;
+
+-- Start of common part
+
type O_Enode is private;
- O_Enode_Null : constant O_Enode;
type O_Cnode is private;
- O_Cnode_Null : constant O_Cnode;
type O_Lnode is private;
- O_Lnode_Null : constant O_Lnode;
- -- A node for a type.
type O_Tnode is private;
- O_Tnode_Null : constant O_Tnode;
- -- A node for a statement.
type O_Snode is private;
- O_Snode_Null : constant O_Snode;
- -- A node for a function.
type O_Dnode is private;
- O_Dnode_Null : constant O_Dnode;
- -- A node for a record element.
type O_Fnode is private;
+
+ O_Cnode_Null : constant O_Cnode;
+ O_Dnode_Null : constant O_Dnode;
+ O_Enode_Null : constant O_Enode;
O_Fnode_Null : constant O_Fnode;
+ O_Lnode_Null : constant O_Lnode;
+ O_Snode_Null : constant O_Snode;
+ O_Tnode_Null : constant O_Tnode;
- procedure Finish_Debug;
------------------------
-- Type definitions --
@@ -171,8 +173,8 @@ package Ortho_LLVM is
-- unsgined type RTYPE.
function New_Alignof (Atype : O_Tnode; Rtype : O_Tnode) return O_Cnode;
- -- Returns the offset of FIELD in record ATYPE. The result is a literal
- -- of unsigned type RTYPE.
+ -- Returns the offset of FIELD in its record ATYPE. The result is a
+ -- literal of unsigned type or access type RTYPE.
function New_Offsetof (Atype : O_Tnode; Field : O_Fnode; Rtype : O_Tnode)
return O_Cnode;
@@ -211,8 +213,6 @@ package Ortho_LLVM is
ON_And, -- ON_Dyadic_Op_Kind
ON_Or, -- ON_Dyadic_Op_Kind
ON_Xor, -- ON_Dyadic_Op_Kind
- ON_And_Then, -- ON_Dyadic_Op_Kind
- ON_Or_Else, -- ON_Dyadic_Op_Kind
-- Monadic operations.
ON_Not, -- ON_Monadic_Op_Kind
@@ -228,7 +228,7 @@ package Ortho_LLVM is
ON_Gt -- ON_Compare_Op_Kind
);
- subtype ON_Dyadic_Op_Kind is ON_Op_Kind range ON_Add_Ov .. ON_Or_Else;
+ subtype ON_Dyadic_Op_Kind is ON_Op_Kind range ON_Add_Ov .. ON_Xor;
subtype ON_Monadic_Op_Kind is ON_Op_Kind range ON_Not .. ON_Abs_Ov;
subtype ON_Compare_Op_Kind is ON_Op_Kind range ON_Eq .. ON_Gt;
@@ -455,6 +455,7 @@ package Ortho_LLVM is
procedure Finish_Choice (Block : in out O_Case_Block);
procedure Finish_Case_Stmt (Block : in out O_Case_Block);
+-- End of common part
private
use LLVM.Core;