]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/ada/prj-attr.adb
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / ada / prj-attr.adb
diff --git a/gcc/ada/prj-attr.adb b/gcc/ada/prj-attr.adb
deleted file mode 100644 (file)
index d3620e0..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                         GNAT COMPILER COMPONENTS                         --
---                                                                          --
---                              P R J . A T T R                             --
---                                                                          --
---                                 B o d y                                  --
---                                                                          --
---                            $Revision: 1.5.10.1 $
---                                                                          --
---             Copyright (C) 2001 Free Software Foundation, Inc.            --
---                                                                          --
--- GNAT is free software;  you can  redistribute it  and/or modify it under --
--- terms of the  GNU General Public License as published  by the Free Soft- --
--- ware  Foundation;  either version 2,  or (at your option) any later ver- --
--- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
--- OUT 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  distributed with GNAT;  see file COPYING.  If not, write --
--- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
--- MA 02111-1307, USA.                                                      --
---                                                                          --
--- GNAT was originally developed  by the GNAT team at  New York University. --
--- Extensive contributions were provided by Ada Core Technologies Inc.      --
---                                                                          --
-------------------------------------------------------------------------------
-
-with Ada.Characters.Handling; use Ada.Characters.Handling;
-with Namet;     use Namet;
-with Output;    use Output;
-
-package body Prj.Attr is
-
-   --  Names end with '#'
-
-   --  Package names are preceded by 'P'
-
-   --  Attribute names are preceded by two letters
-
-   --  The first letter is one of
-   --    'S' for Single
-   --    'L' for list
-
-   --  The second letter is one of
-   --    'V' for single variable
-   --    'A' for associative array
-   --    'a' for case insensitive associative array
-
-   --  End is indicated by two consecutive '#'.
-
-   Initialization_Data : constant String :=
-
-   --  project attributes
-
-     "SVobject_dir#" &
-     "SVexec_dir#" &
-     "LVsource_dirs#" &
-     "LVsource_files#" &
-     "SVsource_list_file#" &
-     "SVlibrary_dir#" &
-     "SVlibrary_name#" &
-     "SVlibrary_kind#" &
-     "SVlibrary_elaboration#" &
-     "SVlibrary_version#" &
-     "LVmain#" &
-     "LVlanguages#" &
-
-   --  package Naming
-
-     "Pnaming#" &
-     "Saspecification_suffix#" &
-     "Saimplementation_suffix#" &
-     "SVseparate_suffix#" &
-     "SVcasing#" &
-     "SVdot_replacement#" &
-     "SAspecification#" &
-     "SAimplementation#" &
-     "LAspecification_exceptions#" &
-     "LAimplementation_exceptions#" &
-
-   --  package Compiler
-
-     "Pcompiler#" &
-     "Ladefault_switches#" &
-     "LAswitches#" &
-     "SVlocal_configuration_pragmas#" &
-
-   --  package Builder
-
-     "Pbuilder#" &
-     "Ladefault_switches#" &
-     "LAswitches#" &
-     "SVglobal_configuration_pragmas#" &
-
-   --  package gnatls
-
-     "Pgnatls#" &
-     "LVswitches#" &
-
-   --  package Binder
-
-     "Pbinder#" &
-     "Ladefault_switches#" &
-     "LAswitches#" &
-
-   --  package Linker
-
-     "Plinker#" &
-     "Ladefault_switches#" &
-     "LAswitches#" &
-
-   --  package Cross_Reference
-
-     "Pcross_reference#" &
-     "Ladefault_switches#" &
-     "LAswitches#" &
-
-   --  package Finder
-
-     "Pfinder#" &
-     "Ladefault_switches#" &
-     "LAswitches#" &
-
-   --  package Gnatstub
-
-     "Pgnatstub#" &
-     "LVswitches#" &
-
-     "#";
-
-   ----------------
-   -- Initialize --
-   ----------------
-
-   procedure Initialize is
-      Start             : Positive           := Initialization_Data'First;
-      Finish            : Positive           := Start;
-      Current_Package   : Package_Node_Id    := Empty_Package;
-      Current_Attribute : Attribute_Node_Id  := Empty_Attribute;
-      Is_An_Attribute   : Boolean            := False;
-      Kind_1            : Variable_Kind      := Undefined;
-      Kind_2            : Attribute_Kind     := Single;
-      Package_Name      : Name_Id            := No_Name;
-      Attribute_Name    : Name_Id            := No_Name;
-      First_Attribute   : Attribute_Node_Id  := Attribute_First;
-
-   begin
-      --  Make sure the two tables are empty
-
-      Attributes.Set_Last (Attributes.First);
-      Package_Attributes.Set_Last (Package_Attributes.First);
-
-      while Initialization_Data (Start) /= '#' loop
-         Is_An_Attribute := True;
-         case Initialization_Data (Start) is
-            when 'P' =>
-
-               --  New allowed package
-
-               Start := Start + 1;
-
-               Finish := Start;
-               while Initialization_Data (Finish) /= '#' loop
-                  Finish := Finish + 1;
-               end loop;
-
-               Name_Len := Finish - Start;
-               Name_Buffer (1 .. Name_Len) :=
-                 To_Lower (Initialization_Data (Start .. Finish - 1));
-               Package_Name := Name_Find;
-
-               for Index in Package_First .. Package_Attributes.Last loop
-                  if Package_Name = Package_Attributes.Table (Index).Name then
-                     Write_Line ("Duplicate package name """ &
-                                 Initialization_Data (Start .. Finish - 1) &
-                                 """ in Prj.Attr body.");
-                     raise Program_Error;
-                  end if;
-               end loop;
-
-               Is_An_Attribute := False;
-               Current_Attribute := Empty_Attribute;
-               Package_Attributes.Increment_Last;
-               Current_Package := Package_Attributes.Last;
-               Package_Attributes.Table (Current_Package).Name :=
-                 Package_Name;
-               Start := Finish + 1;
-
-            when 'S' =>
-               Kind_1 := Single;
-
-            when 'L' =>
-               Kind_1 := List;
-
-            when others =>
-               raise Program_Error;
-         end case;
-
-         if Is_An_Attribute then
-
-            --  New attribute
-
-            Start := Start + 1;
-            case Initialization_Data (Start) is
-               when 'V' =>
-                  Kind_2 := Single;
-               when 'A' =>
-                  Kind_2 := Associative_Array;
-               when 'a' =>
-                  Kind_2 := Case_Insensitive_Associative_Array;
-               when others =>
-                  raise Program_Error;
-            end case;
-
-            Start := Start + 1;
-            Finish := Start;
-
-            while Initialization_Data (Finish) /= '#' loop
-               Finish := Finish + 1;
-            end loop;
-
-            Name_Len := Finish - Start;
-            Name_Buffer (1 .. Name_Len) :=
-              To_Lower (Initialization_Data (Start .. Finish - 1));
-            Attribute_Name := Name_Find;
-            Attributes.Increment_Last;
-            if Current_Attribute = Empty_Attribute then
-               First_Attribute := Attributes.Last;
-
-               if Current_Package /= Empty_Package then
-                  Package_Attributes.Table (Current_Package).First_Attribute
-                    := Attributes.Last;
-               end if;
-
-            else
-               --  Check that there are no duplicate attributes
-
-               for Index in First_Attribute .. Attributes.Last - 1 loop
-                  if Attribute_Name =
-                    Attributes.Table (Index).Name then
-                     Write_Line ("Duplicate attribute name """ &
-                                 Initialization_Data (Start .. Finish - 1) &
-                                 """ in Prj.Attr body.");
-                     raise Program_Error;
-                  end if;
-               end loop;
-
-               Attributes.Table (Current_Attribute).Next :=
-                 Attributes.Last;
-            end if;
-
-            Current_Attribute := Attributes.Last;
-            Attributes.Table (Current_Attribute) :=
-              (Name    => Attribute_Name,
-               Kind_1  => Kind_1,
-               Kind_2  => Kind_2,
-               Next    => Empty_Attribute);
-            Start := Finish + 1;
-         end if;
-      end loop;
-   end Initialize;
-
-end Prj.Attr;