From 703844c305585a8b88dd4a74d51f60ecf5c8ad2e Mon Sep 17 00:00:00 2001 From: charlet Date: Fri, 6 Apr 2007 09:19:38 +0000 Subject: 2007-04-06 Vincent Celier * errutil.adb (Initialize): Initialize warnings table, if all warnings are suppressed, supply an initial dummy entry covering all possible source locations. * make.adb (Scan_Make_Arg): Reject options that should start with "--" and start with only one, such as "-RTS=none". (Collect_Arguments): Do not check for sources outside of projects. Do not collect arguments if project is externally built. (Compile_Sources): Do nothing, not even check if the source is up to date, if its project is externally built. (Compile): When compiling a predefined source, add -gnatpg as the second switch, after -c. (Compile_Sources): Allow compilation of Annex J renames without -a (Is_In_Object_Directory): Check if the ALI file is in the object even if there is no project extension. (Create_Binder_Mapping_File): Only put a unit in the mapping file for gnatbind if the ALI file effectively exists. (Initialize): Add the directory where gnatmake is invoked in front of the path if it is invoked from a bin directory, even without directory information, so that the correct GNAT tools will be used when spawned without directory information. * makeusg.adb: Change switch -S to -eS Add lines for new switches -we, -wn and -ws Add line for new switch -p * prj-proc.adb (Process): Set Success to False when Warning_Mode is Treat_As_Error and there are warnings. * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Do not skip -gnatww Change gnatmake switch -S to -eS (Scan_Make_Switches): Code reorganisation. Process separately multi character switches and single character switches. (Scan_Make_Switches): New Boolean out parameter Success. Set Success to False when switch is not recognized by gnatmake. (Scan_Make_Switches): Set Setup_Projects True when -p or --create-missing-dirs is specified. * fname.adb (Is_Predefined_File_Name): Return True for annex J renamings Calendar, Machine_Code, Unchecked_Conversion and Unchecked_Deallocation only when Renamings_Included is True. * par.adb: Allow library units Calendar, Machine_Code, Unchecked_Conversion and Unchecked_Deallocation to be recompiled even when -gnatg is not specified. (P_Interface_Type_Definition): Remove the formal Is_Synchronized because there is no need to generate always a record_definition_node in case of synchronized interface types. (SIS_Entry_Active): Initialize global variable to False (P_Null_Exclusion): For AI-447: Add parameter Allow_Anonymous_In_95 to indicate cases where AI-447 says "not null" is legal. * makeutl.ads, makeutil.adb (Executable_Prefix_Path): New function * makegpr.adb (Check_Compilation_Needed): Take into account dependency files with with several lines starting with the object fileb name. (Scan_Arg): Set Setup_Projects True when -p or --create-missing-dirs is specified. (Initialize): Add the directory where gprmake is invoked in front of the path, if it is invoked from a bin directory or with directory information, so that the correct GNAT tools will be used when invoked directly. (Check_Compilation_Needed): Process correctly backslashes on Windows. * vms_data.ads: Update switches/qualifiers git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123560 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/par.adb | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'gcc/ada/par.adb') diff --git a/gcc/ada/par.adb b/gcc/ada/par.adb index fabb9ea724f..bebc66970fd 100644 --- a/gcc/ada/par.adb +++ b/gcc/ada/par.adb @@ -142,7 +142,7 @@ is -- whose body is required and has not yet been found. The prefix SIS -- stands for "Subprogram IS" handling. - SIS_Entry_Active : Boolean; + SIS_Entry_Active : Boolean := False; -- Set True to indicate that an entry is active (i.e. that a subprogram -- declaration has been encountered, and no body for this subprogram has -- been encountered). The remaining fields are valid only if this is True. @@ -605,22 +605,22 @@ is -- declaration of this type for details. function P_Interface_Type_Definition - (Abstract_Present : Boolean; - Is_Synchronized : Boolean) return Node_Id; + (Abstract_Present : Boolean) return Node_Id; -- Ada 2005 (AI-251): Parse the interface type definition part. Abstract -- Present indicates if the reserved word "abstract" has been previously -- found. It is used to report an error message because interface types - -- are by definition abstract tagged. Is_Synchronized is True in case of - -- task interfaces, protected interfaces, and synchronized interfaces; - -- it is used to generate a record_definition node. In the rest of cases - -- (limited interfaces and interfaces) we generate a record_definition + -- are by definition abstract tagged. We generate a record_definition -- node if the list of interfaces is empty; otherwise we generate a -- derived_type_definition node (the first interface in this list is the -- ancestor interface). - function P_Null_Exclusion return Boolean; - -- Ada 2005 (AI-231): Parse the null-excluding part. True indicates - -- that the null-excluding part was present. + function P_Null_Exclusion + (Allow_Anonymous_In_95 : Boolean := False) return Boolean; + -- Ada 2005 (AI-231): Parse the null-excluding part. A True result + -- indicates that the null-excluding part was present. + -- Allow_Anonymous_In_95 is True if we are in a context that allows + -- anonymous access types in Ada 95, in which case "not null" is legal + -- if it precedes "access". function P_Subtype_Indication (Not_Null_Present : Boolean := False) return Node_Id; @@ -1362,13 +1362,9 @@ begin Name := Uname (Uname'First .. Uname'Last - 2); - if Name = "ada" or else - Name = "calendar" or else - Name = "interfaces" or else - Name = "system" or else - Name = "machine_code" or else - Name = "unchecked_conversion" or else - Name = "unchecked_deallocation" + if Name = "ada" or else + Name = "interfaces" or else + Name = "system" then Error_Msg ("language defined units may not be recompiled", -- cgit v1.2.1