diff options
Diffstat (limited to 'gcc/ada/prj-attr.adb')
-rw-r--r-- | gcc/ada/prj-attr.adb | 72 |
1 files changed, 57 insertions, 15 deletions
diff --git a/gcc/ada/prj-attr.adb b/gcc/ada/prj-attr.adb index a7a0125dd0c..e3fb2c0ef38 100644 --- a/gcc/ada/prj-attr.adb +++ b/gcc/ada/prj-attr.adb @@ -2,11 +2,11 @@ -- -- -- GNAT COMPILER COMPONENTS -- -- -- --- P R J . A T T R -- +-- P R J . A T T R -- -- -- -- B o d y -- -- -- --- Copyright (C) 2001-2002 Free Software Foundation, Inc. -- +-- Copyright (C) 2001-2003 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- -- @@ -26,6 +26,7 @@ with Ada.Characters.Handling; use Ada.Characters.Handling; with Namet; use Namet; +with Osint; use Osint; with Output; use Output; package body Prj.Attr is @@ -44,6 +45,8 @@ package body Prj.Attr is -- 'V' for single variable -- 'A' for associative array -- 'a' for case insensitive associative array + -- 'b' for associative array, case insensitive if file names are case + -- insensitive -- End is indicated by two consecutive '#'. @@ -55,40 +58,52 @@ package body Prj.Attr is "SVexec_dir#" & "LVsource_dirs#" & "LVsource_files#" & + "LVlocally_removed_files#" & "SVsource_list_file#" & "SVlibrary_dir#" & "SVlibrary_name#" & "SVlibrary_kind#" & - "SVlibrary_elaboration#" & "SVlibrary_version#" & + "LVlibrary_interface#" & + "SVlibrary_auto_init#" & + "LVlibrary_options#" & + "SVlibrary_src_dir#" & + "SVlibrary_gcc#" & "LVmain#" & "LVlanguages#" & + "SVmain_language#" & -- package Naming "Pnaming#" & "Saspecification_suffix#" & + "Saspec_suffix#" & "Saimplementation_suffix#" & + "Sabody_suffix#" & "SVseparate_suffix#" & "SVcasing#" & "SVdot_replacement#" & "SAspecification#" & + "SAspec#" & "SAimplementation#" & - "LAspecification_exceptions#" & - "LAimplementation_exceptions#" & + "SAbody#" & + "Laspecification_exceptions#" & + "Laimplementation_exceptions#" & -- package Compiler "Pcompiler#" & "Ladefault_switches#" & - "LAswitches#" & + "Lbswitches#" & "SVlocal_configuration_pragmas#" & -- package Builder "Pbuilder#" & "Ladefault_switches#" & - "LAswitches#" & + "Lbswitches#" & + "SAexecutable#" & + "SVexecutable_suffix#" & "SVglobal_configuration_pragmas#" & -- package gnatls @@ -100,35 +115,52 @@ package body Prj.Attr is "Pbinder#" & "Ladefault_switches#" & - "LAswitches#" & + "Lbswitches#" & -- package Linker "Plinker#" & "Ladefault_switches#" & - "LAswitches#" & + "Lbswitches#" & + "LVlinker_options#" & -- package Cross_Reference "Pcross_reference#" & "Ladefault_switches#" & - "LAswitches#" & + "Lbswitches#" & -- package Finder "Pfinder#" & "Ladefault_switches#" & - "LAswitches#" & + "Lbswitches#" & - -- package Gnatstub + -- package Pretty_Printer + + "Ppretty_printer#" & + "Ladefault_switches#" & + "Lbswitches#" & + + -- package gnatstub "Pgnatstub#" & - "LVswitches#" & + "Ladefault_switches#" & + "Lbswitches#" & + + -- package Eliminate + + "Peliminate#" & + "Ladefault_switches#" & + "Lbswitches#" & -- package Ide "Pide#" & + "Ladefault_switches#" & "SVremote_host#" & + "SVprogram_host#" & + "SVcommunication_protocol#" & "Sacompiler_command#" & "SVdebugger_command#" & "SVgnatlist#" & @@ -157,8 +189,8 @@ package body Prj.Attr is begin -- Make sure the two tables are empty - Attributes.Set_Last (Attributes.First); - Package_Attributes.Set_Last (Package_Attributes.First); + Attributes.Init; + Package_Attributes.Init; while Initialization_Data (Start) /= '#' loop Is_An_Attribute := True; @@ -214,10 +246,20 @@ package body Prj.Attr is 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 'b' => + if File_Names_Case_Sensitive then + Kind_2 := Case_Insensitive_Associative_Array; + else + Kind_2 := Case_Insensitive_Associative_Array; + end if; + when others => raise Program_Error; end case; |