rpms/ghdl/FC-5 ghdl-svn73.patch, NONE, 1.1 ghdl.spec, 1.17, 1.18 ghdl-svn61.patch, 1.1, NONE
Thomas M. Sailer (sailer)
fedora-extras-commits at redhat.com
Tue Oct 17 19:54:51 UTC 2006
- Previous message: rpms/tagtool/FC-5 tagtool-genre.patch, NONE, 1.1 tagtool.spec, 1.6, 1.7
- Next message: rpms/cobbler/devel .cvsignore, 1.5, 1.6 cobbler.spec, 1.4, 1.5 sources, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: sailer
Update of /cvs/extras/rpms/ghdl/FC-5
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv16785
Modified Files:
ghdl.spec
Added Files:
ghdl-svn73.patch
Removed Files:
ghdl-svn61.patch
Log Message:
update to svn73
ghdl-svn73.patch:
--- NEW FILE ghdl-svn73.patch ---
diff -urN ghdl-0.25/vhdl/back_end.ads ghdl-0.26dev/vhdl/back_end.ads
--- ghdl-0.25/vhdl/back_end.ads 2005-09-22 23:07:25.000000000 +0200
+++ ghdl-0.26dev/vhdl/back_end.ads 2006-10-05 11:35:25.000000000 +0200
@@ -29,6 +29,14 @@
Library_To_File_Name : Library_To_File_Name_Acc :=
Default_Library_To_File_Name'Access;
+ -- Back-end options.
+ type Parse_Option_Acc is access function (Opt : String) return Boolean;
+ Parse_Option : Parse_Option_Acc := null;
+
+ -- Disp back-end option help.
+ type Disp_Option_Acc is access procedure;
+ Disp_Option : Disp_Option_Acc := null;
+
-- UNIT is a design unit from parse.
-- According to the current back-end, do what is necessary.
--
@@ -46,8 +54,5 @@
-- May be NULL for no additionnal checks.
type Sem_Foreign_Acc is access procedure (Decl : Iir);
Sem_Foreign : Sem_Foreign_Acc := null;
-
- --procedure Finish_Compilation
- -- (Unit : Iir_Design_Unit; Main : Boolean := False);
end Back_End;
diff -urN ghdl-0.25/vhdl/bug.adb ghdl-0.26dev/vhdl/bug.adb
--- ghdl-0.25/vhdl/bug.adb 2005-11-18 02:34:12.000000000 +0100
+++ ghdl-0.26dev/vhdl/bug.adb 2006-10-05 11:35:25.000000000 +0200
@@ -70,7 +70,7 @@
Put_Line
(Standard_Error,
"Please report this bug on http://gna.org/projects/ghdl");
- Put_Line (Standard_Error, "GHDL version: " & Ghdl_Version);
+ Put_Line (Standard_Error, "GHDL release: " & Ghdl_Release);
Put_Line (Standard_Error, "Compiled with " & Get_Gnat_Version);
Put_Line (Standard_Error, "In directory: " &
GNAT.Directory_Operations.Get_Current_Dir);
diff -urN ghdl-0.25/vhdl/canon.adb ghdl-0.26dev/vhdl/canon.adb
--- ghdl-0.25/vhdl/canon.adb 2006-07-29 06:42:30.000000000 +0200
+++ ghdl-0.26dev/vhdl/canon.adb 2006-10-05 11:35:25.000000000 +0200
@@ -847,22 +847,6 @@
end loop;
end Canon_Sequential_Stmts;
- procedure Add_Driver_For_Signal (Driver_List : Iir_List;
- Signal : Iir)
- is
- Choice : Iir;
- begin
- if Get_Kind (Signal) = Iir_Kind_Aggregate then
- Choice := Get_Association_Choices_Chain (Signal);
- while Choice /= Null_Iir loop
- Add_Driver_For_Signal (Driver_List, Get_Associated (Choice));
- Choice := Get_Chain (Choice);
- end loop;
- else
- Add_Element (Driver_List, Get_Longuest_Static_Prefix (Signal));
- end if;
- end Add_Driver_For_Signal;
-
-- Create a statement transform from concurrent_signal_assignment
-- statement STMT (either selected or conditional).
-- waveform transformation is not done.
@@ -895,9 +879,6 @@
-- reserved word POSTPONED.
Set_Postponed_Flag (Proc, Get_Postponed_Flag (Proc));
- Set_Driver_List (Proc, Create_Iir_List);
- Add_Driver_For_Signal (Get_Driver_List (Proc), Get_Target (Stmt));
-
Canon_Extract_Sensitivity (Get_Target (Stmt), Sensitivity_List, True);
if Canon_Flag_Expressions then
@@ -966,7 +947,6 @@
Assoc_Chain : Iir;
Assoc : Iir;
Imp : Iir;
- Driver_List : Iir_Driver_List;
Inter : Iir;
Sensitivity_List : Iir_List;
Is_Sensitized : Boolean;
@@ -1014,7 +994,6 @@
Get_Parameter_Association_Chain (Call),
Call);
Set_Parameter_Association_Chain (Call, Assoc_Chain);
- Driver_List := Null_Iir_List;
Assoc := Assoc_Chain;
-- LRM93 9.3
@@ -1034,18 +1013,6 @@
Canon_Extract_Sensitivity
(Get_Actual (Assoc), Sensitivity_List, False);
end if;
- -- LRM 2.1.1.2 Signal Parameters
- if Get_Kind (Inter) = Iir_Kind_Signal_Interface_Declaration
- and then Get_Mode (Inter) in Iir_Out_Modes
- then
- if Driver_List = Null_Iir_List then
- Driver_List := Create_Iir_List;
- Set_Driver_List (Proc, Driver_List);
- end if;
- Add_Element
- (Driver_List,
- Get_Longuest_Static_Prefix (Get_Actual (Assoc)));
- end if;
when Iir_Kind_Association_Element_Open
| Iir_Kind_Association_Element_By_Individual =>
null;
diff -urN ghdl-0.25/vhdl/disp_tree.adb ghdl-0.26dev/vhdl/disp_tree.adb
--- ghdl-0.25/vhdl/disp_tree.adb 2005-10-26 14:31:21.000000000 +0200
+++ ghdl-0.26dev/vhdl/disp_tree.adb 2006-10-05 11:35:25.000000000 +0200
@@ -1023,8 +1023,6 @@
Disp_Depth (Get_Subprogram_Depth (Tree));
Header ("subprogram_body:");
Disp_Tree_Flat (Get_Subprogram_Body (Tree), Ntab);
- Header ("driver list:");
- Disp_Tree_List (Get_Driver_List (Tree), Ntab, True);
Header ("attribute_value_chain:");
Disp_Tree_Flat_Chain (Get_Attribute_Value_Chain (Tree), Ntab);
when Iir_Kind_Procedure_Body
@@ -1423,8 +1421,6 @@
Header ("sensivity list:");
Disp_Tree_List (Get_Sensitivity_List (Tree), Ntab, True);
end if;
- Header ("driver list:");
- Disp_Tree_List (Get_Driver_List (Tree), Ntab, True);
Header ("declaration_chain:");
Disp_Tree_Chain (Get_Declaration_Chain (Tree), Ntab);
Header ("process statements:");
diff -urN ghdl-0.25/vhdl/disp_vhdl.adb ghdl-0.26dev/vhdl/disp_vhdl.adb
--- ghdl-0.25/vhdl/disp_vhdl.adb 2006-07-09 03:55:28.000000000 +0200
+++ ghdl-0.26dev/vhdl/disp_vhdl.adb 2006-10-05 11:35:25.000000000 +0200
@@ -893,25 +893,6 @@
Put_Line (";");
end Disp_Object_Declaration;
- procedure Disp_Driver_List (List: Iir_Driver_List; Indent : Count)
- is
- El: Iir;
- begin
- if List = Null_Iir_List or else Get_Nbr_Elements (List) = 0 then
- return;
- end if;
- Set_Col (Indent);
- Put_Line ("-- drivers needed for signals:");
- for I in Natural loop
- El := Get_Nth_Element (List, I);
- exit when El = Null_Iir;
- Set_Col (Indent);
- Put ("-- ");
- Disp_Expression (El);
- New_Line;
- end loop;
- end Disp_Driver_List;
-
procedure Disp_Subprogram_Declaration (Subprg: Iir)
is
Indent: Count;
@@ -943,10 +924,6 @@
when others =>
raise Internal_Error;
end case;
-
- if Get_Kind (Subprg) = Iir_Kind_Procedure_Declaration then
- Disp_Driver_List (Get_Driver_List (Subprg), Indent);
- end if;
end Disp_Subprogram_Declaration;
procedure Disp_Subprogram_Body (Subprg : Iir)
@@ -1517,7 +1494,6 @@
else
New_Line;
end if;
- Disp_Driver_List (Get_Driver_List (Process), Start + Indentation);
Disp_Declaration_Chain (Process, Start + Indentation);
Set_Col (Start);
Put_Line ("begin");
@@ -2312,10 +2288,10 @@
Disp_Concurrent_Conditional_Signal_Assignment (An_Iir);
when Iir_Kinds_Dyadic_Operator =>
Disp_Dyadic_Operator (An_Iir);
- when Iir_Kind_Signal_Interface_Declaration =>
+ when Iir_Kind_Signal_Interface_Declaration
+ | Iir_Kind_Signal_Declaration
+ | Iir_Kind_Object_Alias_Declaration =>
Disp_Name_Of (An_Iir);
- when Iir_Kind_Signal_Declaration =>
- Disp_Identifier (An_Iir);
when Iir_Kind_Enumeration_Literal =>
Disp_Identifier (An_Iir);
when Iir_Kind_Component_Instantiation_Statement =>
@@ -2330,8 +2306,11 @@
Disp_Package_Declaration (An_Iir);
when Iir_Kind_Wait_Statement =>
Disp_Wait_Statement (An_Iir);
- when Iir_Kind_Selected_Name =>
- Disp_Name (An_Iir);
[...4286 lines suppressed...]
+ end if;
+ return Create_Var_Identifier_From_Buffer (L);
end Create_Var_Identifier;
function Create_Uniq_Identifier return Var_Ident_Type
@@ -22728,19 +23323,6 @@
end case;
end Translate_Succ_Pred_Attribute;
- -- Read the boolean attribute (active or event) FIELD of simple signal
- -- SIG.
- function Read_Bool_Signal_Attribute (Sig : O_Enode; Field : O_Fnode)
- return O_Enode
- is
- S : O_Enode;
- begin
- S := New_Convert_Ov (Sig, Ghdl_Signal_Ptr);
- return New_Value
- (New_Selected_Element (New_Access_Element (S), Field));
- --Ghdl_Signal_Event_Node));
- end Read_Bool_Signal_Attribute;
-
type Bool_Sigattr_Data_Type is record
Label : O_Snode;
Field : O_Fnode;
@@ -22752,8 +23334,7 @@
pragma Unreferenced (Targ_Type);
begin
Gen_Exit_When (Data.Label,
- Read_Bool_Signal_Attribute (New_Value (M2Lv (Targ)),
- Data.Field));
+ New_Value (Get_Signal_Field (Targ, Data.Field)));
end Bool_Sigattr_Non_Composite_Signal;
function Bool_Sigattr_Prepare_Data_Composite
@@ -22819,7 +23400,7 @@
if Get_Kind (Prefix_Type) in Iir_Kinds_Scalar_Type_Definition then
-- Effecient handling for a scalar signal.
Name := Chap6.Translate_Name (Prefix);
- return Read_Bool_Signal_Attribute (New_Value (M2Lv (Name)), Field);
+ return New_Value (Get_Signal_Field (Name, Field));
else
-- Element per element handling for composite signals.
Res := Create_Temp (Std_Boolean_Type_Node);
@@ -22839,13 +23420,14 @@
function Translate_Event_Attribute (Attr : Iir) return O_Enode is
begin
- return Translate_Bool_Signal_Attribute (Attr, Ghdl_Signal_Event_Node);
+ return Translate_Bool_Signal_Attribute
+ (Attr, Ghdl_Signal_Event_Field);
end Translate_Event_Attribute;
function Translate_Active_Attribute (Attr : Iir) return O_Enode is
begin
return Translate_Bool_Signal_Attribute
- (Attr, Ghdl_Signal_Active_Node);
+ (Attr, Ghdl_Signal_Active_Field);
end Translate_Active_Attribute;
-- Read signal value FIELD of signal SIG.
@@ -22862,11 +23444,20 @@
(New_Unchecked_Address (New_Selected_Element (T, Field), S_Type));
end Get_Signal_Value_Field;
+ function Get_Signal_Field (Sig : Mnode; Field : O_Fnode)
+ return O_Lnode
+ is
+ S : O_Enode;
+ begin
+ S := New_Convert_Ov (New_Value (M2Lv (Sig)), Ghdl_Signal_Ptr);
+ return New_Selected_Element (New_Access_Element (S), Field);
+ end Get_Signal_Field;
+
function Read_Last_Value (Sig : O_Enode; Sig_Type : Iir) return O_Enode
is
begin
return New_Value (Get_Signal_Value_Field
- (Sig, Sig_Type, Ghdl_Signal_Last_Value_Node));
+ (Sig, Sig_Type, Ghdl_Signal_Last_Value_Field));
end Read_Last_Value;
function Translate_Last_Value is new Chap7.Translate_Signal_Value
@@ -27031,39 +27622,53 @@
(Chararray_Type, New_Unsigned_Literal (Ghdl_Index_Type, 8));
New_Type_Decl (Get_Identifier ("__ghdl_scalar_bytes"),
Ghdl_Scalar_Bytes);
+
+ Ghdl_Signal_Ptr := New_Access_Type (O_Tnode_Null);
+ New_Type_Decl (Get_Identifier ("__ghdl_signal_ptr"), Ghdl_Signal_Ptr);
+
-- Type __signal_signal is record
Start_Record_Type (Rec);
- New_Record_Field (Rec, Ghdl_Signal_Value_Node,
+ New_Record_Field (Rec, Ghdl_Signal_Value_Field,
Get_Identifier ("value"),
Ghdl_Scalar_Bytes);
- New_Record_Field (Rec, Ghdl_Signal_Driving_Value_Node,
+ New_Record_Field (Rec, Ghdl_Signal_Driving_Value_Field,
Get_Identifier ("driving_value"),
Ghdl_Scalar_Bytes);
- New_Record_Field (Rec, Ghdl_Signal_Last_Value_Node,
+ New_Record_Field (Rec, Ghdl_Signal_Last_Value_Field,
Get_Identifier ("last_value"),
Ghdl_Scalar_Bytes);
- New_Record_Field (Rec, Ghdl_Signal_Last_Event_Node,
+ New_Record_Field (Rec, Ghdl_Signal_Last_Event_Field,
Get_Identifier ("last_event"),
Time_Otype);
- New_Record_Field (Rec, Ghdl_Signal_Last_Active_Node,
+ New_Record_Field (Rec, Ghdl_Signal_Last_Active_Field,
Get_Identifier ("last_active"),
Time_Otype);
- New_Record_Field (Rec, Ghdl_Signal_Event_Node,
+ New_Record_Field (Rec, Ghdl_Signal_Active_Chain_Field,
+ Get_Identifier ("active_chain"),
+ Ghdl_Signal_Ptr);
+ New_Record_Field (Rec, Ghdl_Signal_Event_Field,
Get_Identifier ("event"),
Std_Boolean_Type_Node);
- New_Record_Field (Rec, Ghdl_Signal_Active_Node,
+ New_Record_Field (Rec, Ghdl_Signal_Active_Field,
Get_Identifier ("active"),
Std_Boolean_Type_Node);
+ New_Record_Field (Rec, Ghdl_Signal_Has_Active_Field,
+ Get_Identifier ("has_active"),
+ Ghdl_Bool_Type);
Finish_Record_Type (Rec, Ghdl_Signal_Type);
New_Type_Decl (Get_Identifier ("__ghdl_signal"), Ghdl_Signal_Type);
- Ghdl_Signal_Ptr := New_Access_Type (Ghdl_Signal_Type);
- New_Type_Decl (Get_Identifier ("__ghdl_signal_ptr"), Ghdl_Signal_Ptr);
+ Finish_Access_Type (Ghdl_Signal_Ptr, Ghdl_Signal_Type);
Ghdl_Signal_Ptr_Ptr := New_Access_Type (Ghdl_Signal_Ptr);
New_Type_Decl (Get_Identifier ("__ghdl_signal_ptr_ptr"),
Ghdl_Signal_Ptr_Ptr);
+ New_Var_Decl (Ghdl_Signal_Active_Chain,
+ Get_Identifier ("__ghdl_signal_active_chain"),
+ O_Storage_External,
+ Ghdl_Signal_Ptr);
+
-- procedure __ghdl_signal_merge_rti
-- (sig : ghdl_signal_ptr; rti : ghdl_rti_access)
Start_Procedure_Decl
@@ -27305,6 +27910,17 @@
New_Interface_Decl (Interfaces, Param, Wki_Sig, Ghdl_Signal_Ptr);
Finish_Subprogram_Decl (Interfaces, Ghdl_Process_Add_Driver);
+ -- procedure __ghdl_signal_direct_driver (sig : __ghdl_signal_ptr;
+ -- Drv : Ghdl_Ptr_type);
+ Start_Procedure_Decl
+ (Interfaces, Get_Identifier ("__ghdl_signal_direct_driver"),
+ O_Storage_External);
+ New_Interface_Decl
+ (Interfaces, Param, Wki_Sig, Ghdl_Signal_Ptr);
+ New_Interface_Decl
+ (Interfaces, Param, Get_Identifier ("drv"), Ghdl_Ptr_Type);
+ Finish_Subprogram_Decl (Interfaces, Ghdl_Signal_Direct_Driver);
+
declare
procedure Create_Signal_Conversion (Name : String; Res : out O_Dnode)
is
diff -urN ghdl-0.25/vhdl/translation.ads ghdl-0.26dev/vhdl/translation.ads
--- ghdl-0.25/vhdl/translation.ads 2006-08-02 06:13:50.000000000 +0200
+++ ghdl-0.26dev/vhdl/translation.ads 2006-10-05 11:35:23.000000000 +0200
@@ -61,6 +61,21 @@
-- If set, do not generate code for unused implicit subprograms.
Flag_Discard_Unused_Implicit : Boolean := False;
+ -- If set, dump drivers per process during compilation.
+ Flag_Dump_Drivers : Boolean := False;
+
+ -- If set, try to create direct drivers.
+ Flag_Direct_Drivers : Boolean := True;
+
+ -- If set, checks ranges (subtype ranges).
+ Flag_Range_Checks : Boolean := True;
+
+ -- If set, checks indexes (arrays index and slice).
+ Flag_Index_Checks : Boolean := True;
+
+ -- If set, do not create identifiers (for in memory compilation).
+ Flag_Discard_Identifiers : Boolean := False;
+
type Foreign_Kind_Type is (Foreign_Unknown,
Foreign_Vhpidirect,
Foreign_Intrinsic);
diff -urN ghdl-0.25/vhdl/version.ads ghdl-0.26dev/vhdl/version.ads
--- ghdl-0.25/vhdl/version.ads 2006-08-11 05:15:55.000000000 +0200
+++ ghdl-0.26dev/vhdl/version.ads 2006-10-05 11:35:25.000000000 +0200
@@ -1,4 +1,5 @@
package Version is
- Ghdl_Version : constant String :=
- "GHDL 0.25 (20060811) [Sokcho edition]";
+ Ghdl_Release : constant String :=
+ "GHDL 0.26dev (20060819) [Sokcho edition]";
+ Ghdl_Ver : constant String := "0.26dev";
end Version;
Index: ghdl.spec
===================================================================
RCS file: /cvs/extras/rpms/ghdl/FC-5/ghdl.spec,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- ghdl.spec 28 Aug 2006 22:29:28 -0000 1.17
+++ ghdl.spec 17 Oct 2006 19:54:21 -0000 1.18
@@ -1,6 +1,6 @@
%define gccver 4.1.1
%define ghdlver 0.25
-%define ghdlsvnver 61
+%define ghdlsvnver 73
Summary: A VHDL simulator, using the GCC technology
Name: ghdl
@@ -288,6 +288,9 @@
%changelog
+* Tue Oct 17 2006 Thomas Sailer <t.sailer at alumni.ethz.ch> - 0.25-0.73svn.0
+- update to svn73
+
* Tue Aug 29 2006 Thomas Sailer <t.sailer at alumni.ethz.ch> - 0.25-0.61svn.0
- update to svn61
--- ghdl-svn61.patch DELETED ---
- Previous message: rpms/tagtool/FC-5 tagtool-genre.patch, NONE, 1.1 tagtool.spec, 1.6, 1.7
- Next message: rpms/cobbler/devel .cvsignore, 1.5, 1.6 cobbler.spec, 1.4, 1.5 sources, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list