diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-02-02 21:36:48 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-02-02 21:36:48 +0100 |
commit | 969230e344a54d91778badd80c3d4e35a70145a6 (patch) | |
tree | b109b4f3b3f729738f61a317f990fe3c7943cdca /src/synth | |
parent | e7f093ccdfa452806172e12af3167bc84f571026 (diff) | |
download | ghdl-969230e344a54d91778badd80c3d4e35a70145a6.tar.gz ghdl-969230e344a54d91778badd80c3d4e35a70145a6.tar.bz2 ghdl-969230e344a54d91778badd80c3d4e35a70145a6.zip |
netlists-iterators: fix for gnat gpl 2014
Diffstat (limited to 'src/synth')
-rw-r--r-- | src/synth/netlists-iterators.ads | 154 |
1 files changed, 77 insertions, 77 deletions
diff --git a/src/synth/netlists-iterators.ads b/src/synth/netlists-iterators.ads index 9a88ab9cf..b13bb9513 100644 --- a/src/synth/netlists-iterators.ads +++ b/src/synth/netlists-iterators.ads @@ -30,6 +30,18 @@ package Netlists.Iterators is Element => Modules_Element); function Sub_Modules (M : Module) return Modules_Iterator; + function Modules_First (It : Modules_Iterator) return Modules_Cursor + with Inline; + function Modules_Next (It : Modules_Iterator; Cur : Modules_Cursor) + return Modules_Cursor + with Inline; + function Modules_Has_Element (It : Modules_Iterator; Cur : Modules_Cursor) + return Boolean + with Inline; + function Modules_Element (It : Modules_Iterator; Cur : Modules_Cursor) + return Module + with Inline; + -- Iterate over ports desc of a module. type Ports_Desc_Cursor is private; type Ports_Desc_Iterator is private with @@ -39,6 +51,15 @@ package Netlists.Iterators is Element => Ports_Desc_Element); function Ports_Desc (M : Module) return Ports_Desc_Iterator; + function Ports_Desc_First (It : Ports_Desc_Iterator) + return Ports_Desc_Cursor; + function Ports_Desc_Next (It : Ports_Desc_Iterator; Cur : Ports_Desc_Cursor) + return Ports_Desc_Cursor; + function Ports_Desc_Has_Element + (It : Ports_Desc_Iterator; Cur : Ports_Desc_Cursor) return Boolean; + function Ports_Desc_Element + (It : Ports_Desc_Iterator; Cur : Ports_Desc_Cursor) return Port_Desc; + -- Iterate over param desc of a module type Params_Desc_Cursor is private; type Params_Desc_Iterator is private with @@ -48,6 +69,16 @@ package Netlists.Iterators is Element => Params_Desc_Element); function Params_Desc (M : Module) return Params_Desc_Iterator; + function Params_Desc_First (It : Params_Desc_Iterator) + return Params_Desc_Cursor; + function Params_Desc_Next + (It : Params_Desc_Iterator; Cur : Params_Desc_Cursor) + return Params_Desc_Cursor; + function Params_Desc_Has_Element + (It : Params_Desc_Iterator; Cur : Params_Desc_Cursor) return Boolean; + function Params_Desc_Element + (It : Params_Desc_Iterator; Cur : Params_Desc_Cursor) return Param_Desc; + -- Iterate over instances in a module, excluding the self-instance. type Instances_Cursor is private; type Instances_Iterator is private with @@ -57,6 +88,14 @@ package Netlists.Iterators is Element => Instances_Element); function Instances (M : Module) return Instances_Iterator; + function Instances_First (It : Instances_Iterator) return Instances_Cursor; + function Instances_Next (It : Instances_Iterator; Cur : Instances_Cursor) + return Instances_Cursor; + function Instances_Has_Element + (It : Instances_Iterator; Cur : Instances_Cursor) return Boolean; + function Instances_Element + (It : Instances_Iterator; Cur : Instances_Cursor) return Instance; + -- Iterate over inputs of an instance. type Inputs_Cursor is private; type Inputs_Iterator is private with @@ -66,6 +105,14 @@ package Netlists.Iterators is Element => Inputs_Element); function Inputs (Inst : Instance) return Inputs_Iterator; + function Inputs_First (It : Inputs_Iterator) return Inputs_Cursor; + function Inputs_Next (It : Inputs_Iterator; Cur : Inputs_Cursor) + return Inputs_Cursor; + function Inputs_Has_Element (It : Inputs_Iterator; Cur : Inputs_Cursor) + return Boolean; + function Inputs_Element (It : Inputs_Iterator; Cur : Inputs_Cursor) + return Input; + -- Iterate over outputs of an instance. type Outputs_Cursor is private; type Outputs_Iterator is private with @@ -75,6 +122,14 @@ package Netlists.Iterators is Element => Outputs_Element); function Outputs (Inst : Instance) return Outputs_Iterator; + function Outputs_First (It : Outputs_Iterator) return Outputs_Cursor; + function Outputs_Next (It : Outputs_Iterator; Cur : Outputs_Cursor) + return Outputs_Cursor; + function Outputs_Has_Element (It : Outputs_Iterator; Cur : Outputs_Cursor) + return Boolean; + function Outputs_Element (It : Outputs_Iterator; Cur : Outputs_Cursor) + return Net; + -- Iterate over parameters of an instance. type Params_Cursor is private; type Params_Iterator is private with @@ -84,6 +139,12 @@ package Netlists.Iterators is function Params (Inst : Instance) return Params_Iterator; function Get_Param_Idx (Cur : Params_Cursor) return Param_Idx; + function Params_First (It : Params_Iterator) return Params_Cursor; + function Params_Next (It : Params_Iterator; Cur : Params_Cursor) + return Params_Cursor; + function Params_Has_Element (It : Params_Iterator; Cur : Params_Cursor) + return Boolean; + -- Iterate over nets of a module. type Nets_Cursor is private; type Nets_Iterator is private with @@ -93,6 +154,14 @@ package Netlists.Iterators is Element => Nets_Element); function Nets (M : Module) return Nets_Iterator; + function Nets_First (It : Nets_Iterator) return Nets_Cursor; + function Nets_Next (It : Nets_Iterator; Cur : Nets_Cursor) + return Nets_Cursor; + function Nets_Has_Element (It : Nets_Iterator; Cur : Nets_Cursor) + return Boolean; + function Nets_Element (It : Nets_Iterator; Cur : Nets_Cursor) + return Net; + -- Iterate over sinks of a net. type Sinks_Cursor is private; type Sinks_Iterator is private with @@ -102,6 +171,14 @@ package Netlists.Iterators is Element => Sinks_Element); function Sinks (N : Net) return Sinks_Iterator; + function Sinks_First (It : Sinks_Iterator) return Sinks_Cursor; + function Sinks_Next (It : Sinks_Iterator; Cur : Sinks_Cursor) + return Sinks_Cursor; + function Sinks_Has_Element (It : Sinks_Iterator; Cur : Sinks_Cursor) + return Boolean; + function Sinks_Element (It : Sinks_Iterator; Cur : Sinks_Cursor) + return Input; + private type Modules_Cursor is record M : Module; @@ -111,18 +188,6 @@ private M : Module; end record; - function Modules_First (It : Modules_Iterator) return Modules_Cursor - with Inline; - function Modules_Next (It : Modules_Iterator; Cur : Modules_Cursor) - return Modules_Cursor - with Inline; - function Modules_Has_Element (It : Modules_Iterator; Cur : Modules_Cursor) - return Boolean - with Inline; - function Modules_Element (It : Modules_Iterator; Cur : Modules_Cursor) - return Module - with Inline; - type Ports_Desc_Iterator is record M : Module; end record; @@ -132,15 +197,6 @@ private Num : Port_Nbr; end record; - function Ports_Desc_First (It : Ports_Desc_Iterator) - return Ports_Desc_Cursor; - function Ports_Desc_Next (It : Ports_Desc_Iterator; Cur : Ports_Desc_Cursor) - return Ports_Desc_Cursor; - function Ports_Desc_Has_Element - (It : Ports_Desc_Iterator; Cur : Ports_Desc_Cursor) return Boolean; - function Ports_Desc_Element - (It : Ports_Desc_Iterator; Cur : Ports_Desc_Cursor) return Port_Desc; - type Params_Desc_Iterator is record M : Module; end record; @@ -150,16 +206,6 @@ private Num : Param_Nbr; end record; - function Params_Desc_First (It : Params_Desc_Iterator) - return Params_Desc_Cursor; - function Params_Desc_Next - (It : Params_Desc_Iterator; Cur : Params_Desc_Cursor) - return Params_Desc_Cursor; - function Params_Desc_Has_Element - (It : Params_Desc_Iterator; Cur : Params_Desc_Cursor) return Boolean; - function Params_Desc_Element - (It : Params_Desc_Iterator; Cur : Params_Desc_Cursor) return Param_Desc; - type Instances_Iterator is record M : Module; end record; @@ -168,14 +214,6 @@ private Inst : Instance; end record; - function Instances_First (It : Instances_Iterator) return Instances_Cursor; - function Instances_Next (It : Instances_Iterator; Cur : Instances_Cursor) - return Instances_Cursor; - function Instances_Has_Element - (It : Instances_Iterator; Cur : Instances_Cursor) return Boolean; - function Instances_Element - (It : Instances_Iterator; Cur : Instances_Cursor) return Instance; - type Inputs_Cursor is record Idx : Port_Idx; Nbr : Port_Nbr; @@ -185,14 +223,6 @@ private Inst : Instance; end record; - function Inputs_First (It : Inputs_Iterator) return Inputs_Cursor; - function Inputs_Next (It : Inputs_Iterator; Cur : Inputs_Cursor) - return Inputs_Cursor; - function Inputs_Has_Element (It : Inputs_Iterator; Cur : Inputs_Cursor) - return Boolean; - function Inputs_Element (It : Inputs_Iterator; Cur : Inputs_Cursor) - return Input; - type Outputs_Cursor is record Idx : Port_Idx; Nbr : Port_Nbr; @@ -202,14 +232,6 @@ private Inst : Instance; end record; - function Outputs_First (It : Outputs_Iterator) return Outputs_Cursor; - function Outputs_Next (It : Outputs_Iterator; Cur : Outputs_Cursor) - return Outputs_Cursor; - function Outputs_Has_Element (It : Outputs_Iterator; Cur : Outputs_Cursor) - return Boolean; - function Outputs_Element (It : Outputs_Iterator; Cur : Outputs_Cursor) - return Net; - type Params_Cursor is record Idx : Param_Idx; Nbr : Param_Nbr; @@ -219,12 +241,6 @@ private Inst : Instance; end record; - function Params_First (It : Params_Iterator) return Params_Cursor; - function Params_Next (It : Params_Iterator; Cur : Params_Cursor) - return Params_Cursor; - function Params_Has_Element (It : Params_Iterator; Cur : Params_Cursor) - return Boolean; - type Nets_Cursor is record Inst : Instance; N : Net; @@ -235,14 +251,6 @@ private M : Module; end record; - function Nets_First (It : Nets_Iterator) return Nets_Cursor; - function Nets_Next (It : Nets_Iterator; Cur : Nets_Cursor) - return Nets_Cursor; - function Nets_Has_Element (It : Nets_Iterator; Cur : Nets_Cursor) - return Boolean; - function Nets_Element (It : Nets_Iterator; Cur : Nets_Cursor) - return Net; - type Sinks_Cursor is record S : Input; end record; @@ -250,12 +258,4 @@ private type Sinks_Iterator is record N : Net; end record; - - function Sinks_First (It : Sinks_Iterator) return Sinks_Cursor; - function Sinks_Next (It : Sinks_Iterator; Cur : Sinks_Cursor) - return Sinks_Cursor; - function Sinks_Has_Element (It : Sinks_Iterator; Cur : Sinks_Cursor) - return Boolean; - function Sinks_Element (It : Sinks_Iterator; Cur : Sinks_Cursor) - return Input; end Netlists.Iterators; |