OSDN Git Service

2009-07-13 Robert Dewar <dewar@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / ada / ChangeLog
index a089ac4..520a806 100644 (file)
@@ -1,3 +1,498 @@
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
+       prj-strt.ads: Minor reformatting
+
+2009-07-13  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
+       set the type of the From_Any call to the base type.
+
+2009-07-13  Doug Rupp  <rupp@adacore.com>
+
+       * symbols-processing-vms-ia64.adb (Process): Add variables and
+       constants to retrieve and check for symbol visibility.
+
+2009-07-13  Javier Miranda  <miranda@adacore.com>
+
+       * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
+       the identical type we remove the conversion completely because
+       it is useless.
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * prj-err.adb (Error_Msg): One more case where a message should be
+       considered as a warning.
+
+       * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
+
+2009-07-13  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
+       calling stubs in the (library level) scope of the RCI locator, where it
+       is attached, not in the caller's scope.
+
+2009-07-13  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
+       interface object declarations we delay the generation of the equivalent
+       record type declarations until its expansion because there are cases in
+       which they are not required.            
+
+       * sem_util.adb (Implements_Interface): Add missing support for subtypes.
+
+       * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
+       addition of assertion.
+
+       * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
+       interface types require no equivalent constrained type declarations
+       because the expanded code only references the tag component associated
+       with the interface.
+       (Find_Interface_Tag): Improve management of interfaces that are
+       ancestors of tagged types.
+
+       * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
+       class-wide object declarations to add missing support to statically
+       displace the pointer to the object to reference the tag component
+       associated with the interface.
+
+       * exp_disp.adb (Make_Tags) Avoid generation of internally generated
+       auxiliary types associated with user-defined dispatching calls if the
+       type has no user-defined primitives.
+
+2009-07-13  Vasiliy Fofanov  <fofanov@adacore.com>
+
+       * mingw32.h: Make it explicit that we need XP or later.
+
+       * initialize.c: Remove useless extern symbol declaration.
+
+       * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
+       code reuse in expect.c.
+
+       * adaint.c: Changes throughout the Windows section to redesign storage
+       of the child process list and the process identification.
+
+       * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
+       for interfacing, fix errors.
+       (__gnat_expect_portable_execvp): use function in adaint.c
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
+       prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
+       prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
+       errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
+       (Prj.Nmsc.Report_Error): Removed, no longer needed.
+       Always use Prj.Err.Report_Message.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
+       & comment edits.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
+       prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
+       mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
+       Ada_Prj_Include_File_Set): Removed, since not needed
+       Code clean up.
+
+2009-07-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
+       Analyze_Membership_Op.
+
+       * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
+       Resolve_Membership_Op.
+
+       * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
+       Expand_N_In.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * clean.adb: Minor reformattting
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
+       gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
+       prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
+       prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
+       and attributes in a project tree.
+       (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
+       Remove last remaining mode-specific code (ada_only or
+       multi_language). This was duplicating code
+       (Get_Mode, Set_Mode): removed, no longer used.
+       (Initialize_Project_Path): all tools will now take into account both
+       GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
+       Remove some global variables and subprograms no longer used
+       Make temporary files tree-specific, to avoid interferences between
+       trees loaded in memory at the same time.
+       (Prj.Delete_Temporary_File): new subprogram
+       (Object_Paths, Source_Paths): fields no longer stored in the project
+       tree, since they are only needed locally in Set_Ada_Paths.
+       (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
+       effect in practice.
+       (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
+       by local variables in the appropriate subprograms
+       (Has_Foreign_Sources): removed.
+
+        * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
+
+2009-07-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * gnat1drv.adb (Adjust_Global_Switches): No longer set
+       Back_Annotate_Rep_Info in inspector mode.
+       (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
+
+       * opt.ads: Update comment.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
+       prj.ads: Minor reformatting and code reorganization.
+
+       * par-ch3.adb (Check_Restricted_Expression): New procedure
+
+2009-07-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
+       attribute into a call of the corresponding suprogram, create extra
+       formals for the subprogram, because it may be a renaming whose
+       analysis does not create extra formals.
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
+       prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
+       prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
+       prj-tree.ads: Minor reformatting.
+       (Processing_Flags): new record to encapsulate the set of common
+       parameters to several subprograms in the project manager.
+       (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
+       Remove the need for the Current_Dir parameter in subprograms.
+       (Look_For_Sources): minor refactoring, now that we no longer need to
+       share subprograms between the two Ada_Only and Multi_Language modes
+       (Processing_Flags): New field Error_On_Unknown_Language.
+       Merge tests for library project between gnatmake and gprbuild.
+
+2009-07-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
+       Minor reformatting.
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
+       than units.
+
+2009-07-13  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
+       Write,Input,Output} from private view to full view.
+
+       * sem_type.adb, sem_type.ads: Minor reformatting
+
+2009-07-13  Nicolas Setton  <setton@adacore.com>
+
+       * exp_dbug.ads: Add documentation note on the utility of
+       DW_AT_GNAT_encoding for IDEs.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * g-socthi-vxworks.adb: Minor reformatting
+
+       * gnatcmd.adb: Minor reformatting
+
+2009-07-13  Thomas Quinot  <quinot@adacore.com>
+
+       * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
+       removed, not used anymore.
+       (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
+       New subprogram, implements copy of an Any value into a limited object.
+       (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
+       Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
+       Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
+       of parameters of a limited type, use the above new subprogram.
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
+       Location.
+       (Copy_ALI_Files): Avoid calls to read when pointing outside of the
+       allocated space.
+       (Error_Report): Remove global variable, replaced by parameters.
+
+2009-07-13  Thomas Quinot  <quinot@adacore.com>
+
+       * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
+       standard sendto(2) interface for connected sockets (passing a null
+       destination address). Use send(2) instead for that case.
+
+2009-07-13  Pascal Obry  <obry@adacore.com>
+
+       * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
+       prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
+       variables and tables in prj-nmsc.adb.
+       (Tree_Processing_Data): Renames Processing_Data, some new fields added
+       (Project_Processing_Data): New record
+       Simplify/unify check for missing sources.
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
+       prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
+       prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
+       prj-tree.ads (Immediate_Directory_Of): Removed.
+       (Prj.Pars): Now parse the project simulating a default config file.
+       (Add_Default_GNAT_Naming_Scheme): New subprogram
+       (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
+       Remove gnatmake-specific parsing of source files.
+       (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
+       the error itself to provide more precise diagnostics.
+       (Process_Exceptions_Unit_Based): Avoid duplicate error message when
+       a unit belongs to several projects.
+       (Copy_Interface_Sources): Search the full path of files to copy in the
+       list of sources of the application rather than in the list of units.
+       (Parse_Project_And_Apply_Config): Do not reset the name of the main
+       project file.
+       (Check_File): Use htables to find out whether a source is duplicated.
+       (Add_Source): check whether the source or unit were already seen earlier
+
+       * gcc-interface/Makefile.in: Update gnatmake dependencies.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
+       expression if extensions permitted.
+
+       * par-ch4.adb (P_Membership_Test): New procedure (implement membership
+       set tests).
+       (P_Relation): Use P_Membership_Test
+
+       * par.adb (P_Membership_Test): New procedure (implement membership set
+       tests).
+
+       * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
+
+       * sprint.adb (Sprint_Node): Handle set form for membership tests.
+
+2009-07-13  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
+       Do not attempt to generate stubs for predefined primitives of
+       synchronized interfaces.
+       (Add_Stub_Type): Factor some code from the PCS-specific variants of
+       Build_Stub_Type.
+
+2009-07-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
+       Controlling_Result flag from the operation they override.
+
+2009-07-13  Arnaud Charlet  <charlet@adacore.com>
+
+       * gcc-interface/Make-lang.in: Update dependencies
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * gnat_ugn.texi: The gnatf switch no longer is needed to get full
+       details on unsupported constructs.
+
+       * rtsfind.adb: Remove references to All_Errors_Mode, give errors
+       unconditionally.
+
+       * s-trafor-default.adb: Correct some warnings
+
+       * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
+       sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
+       Minor reformatting.
+
+       * par-ch4.adb (Conditional_Expression): Capture proper location for
+       conditional expression, should point to IF.
+
+       * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
+       s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
+       g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
+       reorganization (use conditional expressions).
+
+2009-07-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
+       build-in-place function that returns an inherently limited type (not
+       just a task type) create proper object declaration so that extra
+       build-in-place actuals are properly added to the call.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
+
+       * gnat_ugn.texi: Add documentation for -gnatw.m/.M
+
+       * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
+
+       * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
+       Warn_On_Suspicious_Modulus_Value.
+
+       * ug_words: Add entries for -gnatw.m/-gnatw.M.
+
+       * usage.adb: Add lines for -gnatw.m/.M switches.
+
+       * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
+
+2009-07-13  Javier Miranda  <miranda@adacore.com>
+
+       * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
+       reading the Is_Interface attribute of the dispatching type.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * a-convec.adb: Minor code reorganization (use conditional expressions)
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb (Check_Suspicious_Modulus): New procedure.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
+       warning).
+
+       * par-ch4.adb: Minor reformatting
+
+2009-07-13  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
+       => Is_Atomic_Aggregate
+
+2009-07-13  Emmanuel Briot  <briot@adacore.com>
+
+       * prj-nmsc.adb: Avoid traversing the list of source files if
+       we have already processed all locally removed files.
+
+2009-07-13  Jose Ruiz  <ruiz@adacore.com>
+
+       * gnat_ugn.texi: Fix typo.
+
+2009-07-13  Robert Dewar  <dewar@adacore.com>
+
+       * freeze.adb: Minor reformatting
+       Minor code reorganization (use Nkind_In)
+
+       * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
+
+2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
+       local variable and do not test it in Compile_Time_Bad_Alignment.
+       Do not issue size or alignment warnings for the X'Address form.
+       * sem_util.ads (Find_Overlaid_Object): Delete.
+       (Find_Overlaid_Entity): New procedure.
+       * sem_util.adb (Find_Overlaid_Object): Rename to...
+       (Find_Overlaid_Entity): ...this and turn into a procedure.  Report
+       whether the address is offseted within the overlaid entity.
+       (Has_Compatible_Alignment): Track the offset globally instead of
+       passing it to Check_Offset.  For an indexed component, compute the
+       full offset when possible.  If the resulting offset is zero, only
+       check the prefix.
+       (Check_Offset): Delete.
+       * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
+       (Address_Aliased_Entity): Delete.
+       (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
+       Find_Overlaid_Entity to find the overlaid entity and the offset.
+       Adjust throughout for above change.
+       (Validate_Address_Clauses): Always use attributes of entities, not of
+       their type.  Tweak message for warning.  Call Has_Compatible_Alignment
+       if the address is offseted to warn about incompatible alignments.
+       * gcc-interface/gigi.h (annotate_object): Declare.
+       * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
+       entity.  Call annotate_object instead of annotating manually objects.
+       (annotate_object): New function.
+       * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
+       at the end.
+
+2009-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc-interface/ada-tree.h: Minor reorganization.
+       * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
+       (gnat_print_type): Likewise.
+
+2009-07-11  Thomas Quinot  <quinot@adacore.com>
+
+       * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
+       Lvalue -> lvalue
+
+       * exp_ch6.adb: Minor reformatting
+
+2009-07-11  Ed Schonberg  <schonberg@adacore.com>
+
+       * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
+       account possible type qualification to determine whether aggregate
+       needs a target temporary to respect atomic type or object.
+
+       * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
+       Expand_Atomic_Aggregate.
+
+2009-07-11  Emmanuel Briot  <briot@adacore.com>
+
+       * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
+       algorithm.
+       (Excluded_Sources_Htable): No longer a global table.
+       Change error message to indicate which files are illegal in the list
+       of excluded files, as opposed to only the location in the project
+       file.
+       (Find_Source): New subprogram.
+
+2009-07-10  Thomas Quinot  <quinot@adacore.com>
+
+       * exp_ch7.adb: Update comments.
+
+2009-07-10  Arnaud Charlet  <charlet@adacore.com>
+
+       * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
+       clause if -gnatI is set instead of crashing.
+
+2009-07-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch11.adb (Same_Expression): Null is always equal to itself.
+       Additional work to remove redundant successive raise statements, in
+       this case access checks.
+
+2009-07-10  Vincent Celier  <celier@adacore.com>
+
+       * make.adb (Compile): Always create a deep copy of the mapping file
+       argument (-gnatem=...) as it may be deallocate/reallocate by
+       Normalize_Arguments.
+
+2009-07-10  Javier Miranda  <miranda@adacore.com>
+
+       * einfo.adb (Directly_Designated_Type): Add assertion.
+       
+       * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
+       access types before using attribute Directly_Designated_Type.
+
+2009-07-10  Emmanuel Briot  <briot@adacore.com>
+
+       * prj.ads: Minor typo fix
+
+2009-07-10  Ed Schonberg  <schonberg@adacore.com>
+
+       * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
+       special treatment.
+
+       * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
+       subprogram is a function call, resolve properly, to ensure that extra
+       actuals are added as needed.
+
 2009-07-10  Thomas Quinot  <quinot@adacore.com>
 
        * sem_aggr.adb: Minor comments editing
        * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
        Do not warn for a constant overlaying any constant object
 
-2009-06-25  Arnaud Charlet  <charlet@adacore.com>
+2009-07-09  Arnaud Charlet  <charlet@adacore.com>
 
        * gcc-interface/Make-lang.in: Update dependencies