rpms/ghdl/devel ghdl-grtadac.patch, NONE, 1.1 ghdl-svn110.patch, NONE, 1.1 ghdl.spec, 1.39, 1.40

Thomas M. Sailer sailer at fedoraproject.org
Tue Oct 7 11:38:20 UTC 2008


Author: sailer

Update of /cvs/pkgs/rpms/ghdl/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10157

Modified Files:
	ghdl.spec 
Added Files:
	ghdl-grtadac.patch ghdl-svn110.patch 
Log Message:
- build fixes
- use standard gnat (gcc) to build the ghdl runtime library


ghdl-grtadac.patch:

--- NEW FILE ghdl-grtadac.patch ---
--- gcc-4.2.4/gcc/vhdl/Makefile.in.grtadac	2008-10-07 10:08:26.000000000 +0200
+++ gcc-4.2.4/gcc/vhdl/Makefile.in	2008-10-07 10:09:00.000000000 +0200
@@ -81,7 +81,7 @@
 T_ADAFLAGS =
 
 CC = cc
-ADAC = $(CC)
+ADAC = gcc
 
 ECHO = echo
 CHMOD = chmod

ghdl-svn110.patch:

--- NEW FILE ghdl-svn110.patch ---
diff -urN ghdl-0.27/README ghdl-0.28dev/README
--- ghdl-0.27/README	2008-07-01 01:59:59.000000000 +0200
+++ ghdl-0.28dev/README	2008-10-07 10:41:34.000000000 +0200
@@ -4,7 +4,7 @@
 
 Copyright:
 **********
-GHDL is copyright (c) 2002, 2003, 2004, 2005, 2006, 2007 Tristan Gingold.
+GHDL is copyright (c) 2002 - 2008 Tristan Gingold.
 See the GHDL manual for more details.
 
 This program is free software; you can redistribute it and/or modify
@@ -27,9 +27,9 @@
 ***************************
 
 Required:
-* the sources of gcc-4.2.4 (at least the core part).
+* the sources of gcc-4.3.1 (at least the core part).
   Note: other versions of gcc sources have not been tested.
-* the Ada95 GNAT compiler (GNAT GPL 2005 are known to work;
+* the Ada95 GNAT compiler (GNAT GPL 2008 are known to work;
   Ada compilers in most Linux distributions are more or less buggy)
 * GNU/Linux for ix86 (pc systems) (porting is necessary for other systems)
 
@@ -53,12 +53,12 @@
   file from it).
 * move or copy the vhdl directory of ghdl into the gcc subdirectory of
   the gcc distribution.
-  You should have a gcc-4.2.4/gcc/vhdl directory.
+  You should have a gcc-4.3.1/gcc/vhdl directory.
 * configure gcc with the --enable-languages=vhdl option.  You may of course
   add other languages.
   Refer to the gcc installation documentation.
 * compile gcc.
-  'make CFLAGS="-O"' is OK (gcc 2.8.1 bugs with -O2 on some files).
+  'make CFLAGS="-O"' is OK
 * install gcc.  This installs the ghdl driver too.
   'make install' is OK.
 
diff -urN ghdl-0.27/vhdl/back_end.adb ghdl-0.28dev/vhdl/back_end.adb
--- ghdl-0.27/vhdl/back_end.adb	2005-09-22 23:26:01.000000000 +0200
+++ ghdl-0.28dev/vhdl/back_end.adb	2008-10-07 10:36:36.000000000 +0200
@@ -12,11 +12,10 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
-with Flags;
-with Types; use Types;
+with Flags; use Flags;
 with Iirs_Utils; use Iirs_Utils;
 
 package body Back_End is
@@ -27,11 +26,13 @@
      return String
    is
    begin
-      case Flags.Vhdl_Std is
+      case Vhdl_Std is
          when Vhdl_87 =>
             return Image_Identifier (Library) & "-obj87.cf";
          when Vhdl_93c | Vhdl_93 | Vhdl_00 | Vhdl_02 =>
             return Image_Identifier (Library) & "-obj93.cf";
+         when Vhdl_08 =>
+            return Image_Identifier (Library) & "-obj08.cf";
       end case;
    end Default_Library_To_File_Name;
 end Back_End;
diff -urN ghdl-0.27/vhdl/back_end.ads ghdl-0.28dev/vhdl/back_end.ads
--- ghdl-0.27/vhdl/back_end.ads	2006-08-16 08:17:07.000000000 +0200
+++ ghdl-0.28dev/vhdl/back_end.ads	2008-10-07 10:36:36.000000000 +0200
@@ -12,7 +12,7 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
 with Iirs; use Iirs;
diff -urN ghdl-0.27/vhdl/bug.adb ghdl-0.28dev/vhdl/bug.adb
--- ghdl-0.27/vhdl/bug.adb	2006-08-19 13:56:15.000000000 +0200
+++ ghdl-0.28dev/vhdl/bug.adb	2008-10-07 10:36:36.000000000 +0200
@@ -12,7 +12,7 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
 with Ada.Text_IO; use Ada.Text_IO;
diff -urN ghdl-0.27/vhdl/bug.ads ghdl-0.28dev/vhdl/bug.ads
--- ghdl-0.27/vhdl/bug.ads	2005-10-15 13:34:53.000000000 +0200
+++ ghdl-0.28dev/vhdl/bug.ads	2008-10-07 10:36:36.000000000 +0200
@@ -12,7 +12,7 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
 with Ada.Exceptions; use Ada.Exceptions;
diff -urN ghdl-0.27/vhdl/canon.adb ghdl-0.28dev/vhdl/canon.adb
--- ghdl-0.27/vhdl/canon.adb	2007-03-21 04:47:14.000000000 +0100
+++ ghdl-0.28dev/vhdl/canon.adb	2008-10-07 10:36:36.000000000 +0200
@@ -1,5 +1,5 @@
 --  Canonicalization pass
---  Copyright (C) 2002, 2003, 2004, 2005 Tristan Gingold
+--  Copyright (C) 2002, 2003, 2004, 2005, 2008 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
@@ -12,7 +12,7 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
 with Errorout; use Errorout;
@@ -21,9 +21,8 @@
 with Name_Table;
 with Sem;
 with Std_Names;
-with Types; use Types;
 with Iir_Chains; use Iir_Chains;
-with Flags;
+with Flags; use Flags;
 
 package body Canon is
    --  Canonicalize a list of declarations.  LIST can be null.
@@ -239,6 +238,10 @@
             --Canon_Extract_Sensitivity
             --  (Get_Prefix (Expr), Sensitivity_List, Is_Target);
 
+         when Iir_Kinds_Scalar_Type_Attribute =>
+            Canon_Extract_Sensitivity
+              (Get_Parameter (Expr), Sensitivity_List, Is_Target);
+
          when Iir_Kind_Aggregate =>
             declare
                Aggr_Type : Iir;
@@ -270,6 +273,226 @@
       end case;
    end Canon_Extract_Sensitivity;
 
+   procedure Canon_Extract_Sensitivity_If_Not_Null
+     (Expr: Iir; Sensitivity_List: Iir_List; Is_Target: Boolean := False) is
+   begin
+      if Expr /= Null_Iir then
+         Canon_Extract_Sensitivity (Expr, Sensitivity_List, Is_Target);
+      end if;
+   end Canon_Extract_Sensitivity_If_Not_Null;
+
+   procedure Canon_Extract_Sequential_Statement_Chain_Sensitivity
+     (Chain : Iir; List : Iir_List)
+   is
+      Stmt : Iir;
+   begin
+      Stmt := Chain;
+      while Stmt /= Null_Iir loop
+         case Get_Kind (Stmt) is
+            when Iir_Kind_Assertion_Statement =>
+               --  LRM08 11.3
+               --  * For each assertion, report, next, exit or return
+               --    statement, apply the rule of 10.2 to each expression
+               --    in the statement, and construct the union of the
+               --    resulting sets.
+               Canon_Extract_Sensitivity
+                 (Get_Assertion_Condition (Stmt), List);
+               Canon_Extract_Sensitivity
+                 (Get_Severity_Expression (Stmt), List);
+               Canon_Extract_Sensitivity
+                 (Get_Report_Expression (Stmt), List);
+            when Iir_Kind_Report_Statement =>
+               --  LRM08 11.3
+               --  See assertion_statement case.
+               Canon_Extract_Sensitivity
+                 (Get_Severity_Expression (Stmt), List);
+               Canon_Extract_Sensitivity
+                 (Get_Report_Expression (Stmt), List);
+            when Iir_Kind_Next_Statement
+              | Iir_Kind_Exit_Statement =>
+               --  LRM08 11.3
+               --  See assertion_statement case.
+               Canon_Extract_Sensitivity
+                 (Get_Condition (Stmt), List);
+            when Iir_Kind_Return_Statement =>
+               --  LRM08 11.3
+               --  See assertion_statement case.
+               Canon_Extract_Sensitivity_If_Not_Null
+                 (Get_Expression (Stmt), List);
+            when Iir_Kind_Variable_Assignment_Statement =>
[...6634 lines suppressed...]
 
          --  First elaborate declarations since a driver may depend on
          --  an alias declaration.
+         --  Also, with vhdl 08 a sensitivity element may depend on an alias.
          Chap4.Elab_Declaration_Chain (Proc, Final);
 
          --  Register drivers.
@@ -21528,9 +21458,17 @@
          end if;
 
          if Is_Sensitized then
-            List := Get_Sensitivity_List (Proc);
+            List_Orig := Get_Sensitivity_List (Proc);
+            if List_Orig = Iir_List_All then
+               List := Canon.Canon_Extract_Process_Sensitivity (Proc);
+            else
+               List := List_Orig;
+            end if;
             Destroy_Types_In_List (List);
             Register_Signal_List (List, Ghdl_Process_Add_Sensitivity);
+            if List_Orig = Iir_List_All then
+               Destroy_Iir_List (List);
+            end if;
          end if;
 
          Pop_Scope (Info.Process_Decls_Type);
@@ -21640,7 +21578,7 @@
                   end if;
                end Get_Arch_Name;
 
-               Str : String :=
+               Str : constant String :=
                  Image_Identifier (Get_Library (Get_Design_File (Entity_Unit)))
                  & "__" & Image_Identifier (Entity) & "__"
                  & Get_Arch_Name & "__";
@@ -23260,28 +23198,22 @@
          return Translate_Low_High_Type_Attribute (Atype, True);
       end Translate_Low_Type_Attribute;
 
-      function Translate_Left_Type_Attribute (Atype : Iir) return O_Enode
-      is
-         Info : Type_Info_Acc;
+      function Translate_Left_Type_Attribute (Atype : Iir) return O_Enode is
       begin
          if Get_Type_Staticness (Atype) = Locally then
             return New_Lit (Chap7.Translate_Static_Range_Left
                             (Get_Range_Constraint (Atype), Atype));
          else
-            Info := Get_Info (Atype);
             return M2E (Chap3.Range_To_Left (Chap3.Type_To_Range (Atype)));
          end if;
       end Translate_Left_Type_Attribute;
 
-      function Translate_Right_Type_Attribute (Atype : Iir) return O_Enode
-      is
-         Info : Type_Info_Acc;
+      function Translate_Right_Type_Attribute (Atype : Iir) return O_Enode is
       begin
          if Get_Type_Staticness (Atype) = Locally then
             return New_Lit (Chap7.Translate_Static_Range_Right
                             (Get_Range_Constraint (Atype), Atype));
          else
-            Info := Get_Info (Atype);
             return M2E (Chap3.Range_To_Right (Chap3.Type_To_Range (Atype)));
          end if;
       end Translate_Right_Type_Attribute;
@@ -25149,8 +25081,9 @@
          end if;
 
          declare
-            Lit_List : Iir_List := Get_Enumeration_Literal_List (Atype);
-            Nbr_Lit : Integer := Get_Nbr_Elements (Lit_List);
+            Lit_List : constant Iir_List :=
+              Get_Enumeration_Literal_List (Atype);
+            Nbr_Lit : constant Integer := Get_Nbr_Elements (Lit_List);
             Lit : Iir;
 
             type Dnode_Array is array (Natural range <>) of O_Dnode;
@@ -25491,6 +25424,7 @@
          Nbr_Indexes : Integer;
          Index : Iir;
          Tmp : O_Dnode;
+         pragma Unreferenced (Tmp);
          Arr_Type : O_Tnode;
          Arr_Aggr : O_Array_Aggr_List;
          Val : O_Cnode;
@@ -25563,6 +25497,7 @@
             declare
                Mark : Id_Mark_Type;
                El_Rti : O_Dnode;
+               pragma Unreferenced (El_Rti);
             begin
                Push_Identifier_Prefix (Mark, "EL");
                El_Rti := Generate_Type_Definition (Element);
@@ -25603,6 +25538,7 @@
          Aggr : O_Record_Aggr_List;
          Val : O_Cnode;
          Base_Rti : O_Dnode;
+         pragma Unreferenced (Base_Rti);
          Bounds : Var_Acc;
          Name : O_Dnode;
          Kind : O_Cnode;
@@ -25950,6 +25886,7 @@
                declare
                   Mark : Id_Mark_Type;
                   Tmp : O_Dnode;
+                  pragma Unreferenced (Tmp);
                begin
                   Push_Identifier_Prefix (Mark, "OT");
                   Tmp := Generate_Type_Definition (Decl_Type);
@@ -27015,7 +26952,6 @@
 
       --  Generic pointer.
       Ghdl_Ptr_Type := New_Access_Type (Char_Type_Node);
-      Const_Ptr_Type_Node := Ghdl_Ptr_Type;
       New_Type_Decl (Get_Identifier ("__ghdl_ptr"), Ghdl_Ptr_Type);
 
       --  Create record
@@ -28252,6 +28188,7 @@
    is
       Lib_Mark, Unit_Mark : Id_Mark_Type;
       Info : Ortho_Info_Acc;
+      pragma Unreferenced (Info);
    begin
       Update_Node_Infos;
 
@@ -28518,6 +28455,7 @@
       procedure Gen_Setup_Info
       is
          Cst : O_Dnode;
+         pragma Unreferenced (Cst);
       begin
          Cst := Create_String (Flags.Flag_String,
                                Get_Identifier ("__ghdl_flag_string"),
@@ -28831,6 +28769,7 @@
          F : FILEs;
          R : int;
          S : size_t;
+         pragma Unreferenced (R, S); -- FIXME
          Id : Name_Id;
          Lib : Iir_Library_Declaration;
          File : Iir_Design_File;
diff -urN ghdl-0.27/vhdl/types.ads ghdl-0.28dev/vhdl/types.ads
--- ghdl-0.27/vhdl/types.ads	2008-04-07 05:20:31.000000000 +0200
+++ ghdl-0.28dev/vhdl/types.ads	2008-10-07 10:36:36.000000000 +0200
@@ -12,7 +12,7 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
 with Interfaces;
@@ -20,10 +20,6 @@
 package Types is
    pragma Preelaborate (Types);
 
-   --  List of vhdl standards.
-   --  VHDL_93c is vhdl_93 with backward compatibility with 87 (file).
-   type Vhdl_Std_Type is (Vhdl_87, Vhdl_93c, Vhdl_93, Vhdl_00, Vhdl_02);
-
    -- A tri state type.
    type Tri_State_Type is (Unknown, False, True);
 
diff -urN ghdl-0.27/vhdl/version.ads ghdl-0.28dev/vhdl/version.ads
--- ghdl-0.27/vhdl/version.ads	2008-07-01 01:59:18.000000000 +0200
+++ ghdl-0.28dev/vhdl/version.ads	2008-10-07 10:36:36.000000000 +0200
@@ -1,5 +1,5 @@
 package Version is
    Ghdl_Release : constant String :=
-      "GHDL 0.27 (20080701) [Sokcho edition]";
-   Ghdl_Ver : constant String := "0.27";
+      "GHDL 0.28dev (20080721) [Sokcho edition]";
+   Ghdl_Ver : constant String := "0.28dev";
 end Version;
diff -urN ghdl-0.27/vhdl/xrefs.adb ghdl-0.28dev/vhdl/xrefs.adb
--- ghdl-0.27/vhdl/xrefs.adb	2005-09-22 23:33:32.000000000 +0200
+++ ghdl-0.28dev/vhdl/xrefs.adb	2008-10-07 10:36:36.000000000 +0200
@@ -12,7 +12,7 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
 with GNAT.Table;
diff -urN ghdl-0.27/vhdl/xrefs.ads ghdl-0.28dev/vhdl/xrefs.ads
--- ghdl-0.27/vhdl/xrefs.ads	2005-09-22 23:23:46.000000000 +0200
+++ ghdl-0.28dev/vhdl/xrefs.ads	2008-10-07 10:36:36.000000000 +0200
@@ -12,7 +12,7 @@
 --  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
+--  along with GHDL; see the file COPYING.  If not, write to the Free
 --  Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 --  02111-1307, USA.
 with Types; use Types;


Index: ghdl.spec
===================================================================
RCS file: /cvs/pkgs/rpms/ghdl/devel/ghdl.spec,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- ghdl.spec	7 Oct 2008 09:28:42 -0000	1.39
+++ ghdl.spec	7 Oct 2008 11:37:49 -0000	1.40
@@ -19,6 +19,7 @@
 Patch102: gcc41-makeinfo.patch
 Patch103: ghdl-noruntime.patch
 Patch104: ghdl-svn89-libgnat43.patch
+Patch105: ghdl-grtadac.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Requires(post): /sbin/install-info
 Requires(preun): /sbin/install-info
@@ -117,7 +118,8 @@
 %{__mv} vhdl ../gcc/
 popd
 #patch102 -p1 -b .makeinfo
-#patch104 -p0 -b .libgnat43
+%patch104 -p0 -b .libgnat43
+%patch105 -p1 -b .grtadac
 
 %build
 %{__rm} -fr obj-%{gcc_target_platform}
@@ -297,6 +299,9 @@
 
 
 %changelog
+* Tue Oct  7 2008 Thomas Sailer <t.sailer at alumni.ethz.ch> - 0.27-0.105svn.0
+- update to svn105
+
 * Mon Jun  2 2008 Thomas Sailer <t.sailer at alumni.ethz.ch> - 0.26-0.98svn.0
 - update to svn98
 




More information about the scm-commits mailing list