1. 31 Oct, 2012 1 commit
    • This patch implements generic type query and conversion functions, · 5d59b5e1
      and applies them to the use of cgraph_node, varpool_node, and symtab_node.
      
      The functions are:
      
      bool is_a <TYPE> (pointer)
        Tests whether the pointer actually points to a more derived TYPE.
      
      TYPE *as_a <TYPE> (pointer)
        Converts pointer to a TYPE*.
      
      TYPE *dyn_cast <TYPE> (pointer)
        Converts pointer to TYPE* if and only if "is_a <TYPE> pointer".
        Otherwise, returns NULL.
        This function is essentially a checked down cast.
      
      These functions reduce compile time and increase type safety when treating a
      generic item as a more specific item.  In essence, the code change is from
      
        if (symtab_function_p (node))
          {
            struct cgraph_node *cnode = cgraph (node);
            ....
          }
      
      to
      
        if (cgraph_node *cnode = dyn_cast <cgraph_node> (node))
          {
            ....
          }
      
      The necessary conditional test defines a variable that holds a known good
      pointer to the specific item and avoids subsequent conversion calls and
      the assertion checks that may come with them.
      
      When, the property test is embedded within a larger condition, the variable
      declaration gets pulled out of the condition.  (This leaves some room for
      using the variable inappropriately.)
      
        if (symtab_variable_p (node)
            && varpool (node)->finalized)
          varpool_analyze_node (varpool (node));
      
      becomes
      
        varpool_node *vnode = dyn_cast <varpool_node> (node);
        if (vnode && vnode->finalized)
          varpool_analyze_node (vnode);
      
      Note that we have converted two sets of assertions in the calls to varpool
      into safe and efficient use of a variable.
      
      
      There are remaining calls to symtab_function_p and symtab_variable_p that
      do not involve a pointer to a more specific type.  These have been converted
      to calls to a functions is_a <cgraph_node> and is_a <varpool_node>.  The
      original predicate functions have been removed.
      
      The cgraph.h header defined both a struct and a function with the name
      varpool_node.  This name overloading can cause some unintuitive error messages
      when, as is common in C++, one omits the struct keyword when using the type.
      I have renamed the function to varpool_node_for_decl.
      
      Tested on x86_64.
      
      
      Index: gcc/ChangeLog
      
      2012-10-31  Lawrence Crowl  <crowl@google.com>
      
      	* is-a.h: New.
      	(is_a <T> (U*)): New.  Test for is-a relationship.
      	(as_a <T> (U*)): New.  Treat as a derived type.
      	(dyn_cast <T> (U*)): New.  Conditionally cast based on is_a.
      	* cgraph.h (varpool_node): Rename to varpool_node_for_decl.
      	Adjust callers to match.
      	(is_a_helper <cgraph_node>::test (symtab_node_def *)): New.
      	(is_a_helper <varpool_node>::test (symtab_node_def *)): New.
      	(symtab_node_def::try_function): New.  Change most calls to
      	symtab_function_p with calls to dyn_cast <cgraph_node> (p).
      	(symtab_node_def::try_variable): New.  Change most calls to
      	symtab_variable_p with calls to dyn_cast <varpool_node> (p).
      	(symtab_function_p): Remove.  Change callers to use
              is_a <cgraph_node> (p) instead.
      	(symtab_variable_p): Remove.  Change callers to use
              is_a <varpool_node> (p) instead.
      	* cgraph.c (cgraph_node_for_asm): Remove redundant call to
      	symtab_node_for_asm.
      	* cgraphunit.c (symbol_finalized_and_needed): New.
      	(symbol_finalized): New.
      	(cgraph_analyze_functions): Split complicated conditionals out into
      	above new functions.
      	* Makefile.in (CGRAPH_H): Add is-a.h as used by cgraph.h.
      
      From-SVN: r193051
      Lawrence Crowl committed
  2. 30 Oct, 2012 1 commit
  3. 29 Oct, 2012 30 commits
    • [multiple changes] · 5f411681
      2012-10-29  Pascal Obry  <obry@adacore.com>
      
      	* xoscons.adb, Make-generated.in; The template used by xoscons is now
      	given as parameter.
      	* gcc-interface/Make-lang.in: Update dependencies.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_dbug.adb (Qualify_Entity_Name): Only do renaming in formal
      	verification mode when there is a homonym.
      
      From-SVN: r192942
      Arnaud Charlet committed
    • [multiple changes] · 269428bb
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* xoscons.adb: Minor reformatting.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_alfa.adb (Expand_Alfa): Backtrack change that removed
      	qualification of names in formal verification mode. Instead,
      	the qualification should be modified.
      	* exp_dbug.adb (Qualify_Entity_Name): Modify qualification in formal
      	verification mode, so that only a suffix is added to distinguish
      	homonyms from the same scope.
      
      From-SVN: r192940
      Arnaud Charlet committed
    • [multiple changes] · 6db566c3
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Document that pragma Optimize_Alignment (Space) is
      	ignored with a warning for packed variable length records.
      
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* socket.c, g-socthi-dummy.adb, g-socthi-dummy.ads, g-socthi-vms.adb,
      	g-socthi-vms.ads, g-socthi-vxworks.adb, g-socthi-vxworks.ads,
      	s-oscons-tmplt.c, g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi.adb,
      	g-socthi.ads, xoscons.adb, g-socket.adb, g-sothco.ads: Introduce an
      	appropriate subtype for IOCTL requests, since these may be signed or
      	unsigned.
      
      From-SVN: r192939
      Arnaud Charlet committed
    • [multiple changes] · 43254605
      2012-10-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_alfa.adb: Minor reformatting.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi, gnat_ugn.texi: Clarify documentation on maximum
      	line length style switch.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* layout.adb (Set_Composite_Alignment): Ignore pragma
      	Optimize_Alignment (Space) for packed variable length records.
      
      From-SVN: r192938
      Arnaud Charlet committed
    • [multiple changes] · c6493b9f
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* s-bignum.adb: Minor comment change.
      
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* s-oscons-tmplt.c: Fix signedness of ioctl request identifiers
      	for x86_64-freebsd.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* exp_alfa.adb (Expand_Alfa): Remove qualification of names.
      
      From-SVN: r192937
      Arnaud Charlet committed
    • [multiple changes] · 7af1cf83
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb: Minor reformatting.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Minor rewording.
      
      2012-10-29  Javier Miranda  <miranda@adacore.com>
      
      	* exp_disp.ads (Is_Expanded_Dispatching_Call): New subprogram.
      	* exp_disp.adb (Expand_Dispatching_Call): No action needed if the
      	call has been already expanded.
      	(Is_Expanded_Dispatching_Call): New subprogram.
      	* sem_disp.adb (Propagate_Tag): No action needed if the call
      	has been already expanded.
      
      2012-10-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch9.adb (Create_Index_And_Data): Remove local
      	variable Index_Typ and its uses. The type of the index is now
      	System.Tasking.Entry_Index. Update all related comments.
      	* rtsfind.ads: Add RE_Entry_Index in tables RE_Id and RE_Unit_Table.
      	* s-taskin.adb (Number_Of_Entries): The return type is now Entry_Index.
      	* s-taskin.ads: The index type of Task_Entry_Names_Array is now
      	Entry_Index.
      	(Number_Of_Entries): The return type is now Entry_Index.
      	* s-tpoben.adb (Number_Of_Entries): The return type is now Entry_Index.
      	* s-tpoben.ads: The index type of Protected_Entry_Names_Array
      	is now Entry_Index.
      	(Number_Of_Entries): The return type is now Entry_Index.
      
      2012-10-29  Pascal Obry  <obry@adacore.com>
      
      	* gnat_ugn.texi: Add note about SEH setup on x86-windows.
      
      2012-10-29  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* s-bignum.adb (Allocate_Bignum): Use the exact layout of
      	Bignum_Data for the overlay.
      
      From-SVN: r192936
      Arnaud Charlet committed
    • gnat_rm.texi, [...] (Sem_Prag.Analyze_Pragma): Handle new pragma Attribute_Definition. · 2d7b3fa4
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* gnat_rm.texi, sem_prag.adb, sem_util.adb, sem_util.ads,
      	par-prag.adb, par-util.adb, snames.ads-tmpl (Sem_Prag.Analyze_Pragma):
      	Handle new pragma Attribute_Definition.
      	(Sem_Util.Bad_Attribute): New routine, moved here
      	from par-util, so that it can be used by the above.
      	(Par_Util.Signal_Bad_Attribute): Processing moved to
      	Sem_Util.Bad_Attribute.
      
      From-SVN: r192935
      Thomas Quinot committed
    • [multiple changes] · 465b6532
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* s-tpoben.ads, s-taskin.ads, exp_ch3.adb: Minor reformatting.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb, gnat1drv.adb, opt.ads: Rename S14_Extensions
      	into Formal_Extensions.
      
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_attr.adb: Minor reformatting.
      
      From-SVN: r192934
      Arnaud Charlet committed
    • [multiple changes] · b9820f7b
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* gnat_rm.texi: Document implementation advice for Pragma
      	Partition_Elaboration_Policy.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* s-bignum.adb (Div_Rem): Reference that Algorithm_D is from
      	the second edition of TAOCP from Knuth, since the algo changed
      	in the third edition. Also correct the definition of 'd' which
      	could overflow.
      
      2012-10-29  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Build_Initialization_Call): Create static strings
      	which denote entry [family] names and associate them with the
      	object's Protection_Entries or ATCB.
      	(Build_Init_Statements):
      	Remove local variable Names. Do not generate the entry [family]
      	names inside the init proc because they are now static.
      	* exp_ch9.adb (Build_Entry_Names): Reimplemented. The strings
      	which denote entry [family] names are now generated statically
      	and associated with the concurrent object's Protection_Entries
      	or ATCB during initialization.
      	* exp_ch9.ads (Build_Entry_Names): Change subprogram profile
      	and associated comment on usage.
      	* rtsfind.ads: Add the following entries to tables RE_Id and
      	RE_Unit_Table:
      
      	RE_Protected_Entry_Names_Array RE_Task_Entry_Names_Array
      	RO_PE_Number_Of_Entries RO_PE_Set_Entry_Names
      	RO_ST_Number_Of_Entries RO_ST_Set_Entry_Names
      
      	Remove the following entries from tables RE_Id and RE_Unit_Table:
      
      	RO_PE_Set_Entry_Name RO_TS_Set_Entry_Name
      
      	* s-taskin.adb: Remove with clause for Ada.Unchecked_Deallocation.
      	(Free_Entry_Names_Array): Removed.
      	(Number_Of_Entries): New routine.
      	(Set_Entry_Names): New routine.
      	* s-taskin.ads: Rename type Entry_Names_Array to
      	Task_Entry_Names_Array. Rename type Entry_Names_Array_Access
      	to Task_Entry_Names_Access. Update the type of ACTB field
      	Entry_Names and add a comment on its protection status.
      	(Free_Entry_Names_Array): Removed.
      	(Number_Of_Entries): New routine.
      	(Set_Entry_Names): New routine.
      	* s-tassta.adb (Create_Task): Remove formal parameter
      	Build_Entry_Names. Do not allocate an array to hold the
      	string names of entries and families.
      	(Free_Entry_Names): Removed.
      	(Free_Task): Remove the call to Free_Entry_Names.
      	(Set_Entry_Name): Removed.
      	(Vulnerable_Free_Task): Remove the call to Free_Entry_Names.
      	* s-tassta.ads (Create_Task): Remove formal parameter
      	Build_Entry_Names along with associated comment.
      	(Set_Entry_Name): Removed.
      	* s-tpoben.adb: Remove with clause for Ada.Unchecked_Deallocation.
      	(Finalize): Remove the call to Free_Entry_Names.
      	(Free_Entry_Names): Removed.
      	(Initialize_Protection_Entries):
      	Remove formal parameter Build_Entry_Names. Do not allocate
      	an array to hold the string names of entries and families.
      	(Number_Of_Entries): New routine.
      	(Set_Entry_Name): Removed.
      	(Set_Entry_Names): New routine.
      	* s-tpoben.ads: Add types Protected_Entry_Names_Array and
      	Protected_Entry_Names_Access. Update the type of Protection_Enties
      	field Entry_Names.
      	(Initialize_Protection_Entries): Remove
      	formal parameter Build_Entry_Names along with associated comment.
      	(Number_Of_Entries): New routine.
      	(Set_Entry_Name): Removed.
      	(Set_Entry_Names): New routine.
      
      2012-10-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat_ugn.texi: Minor typo fix.
      
      From-SVN: r192933
      Arnaud Charlet committed
    • [multiple changes] · 5568a736
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* debug.adb Associate debug switch -gnatd.V to extensions for
      	formal verification.
      	* gnat1drv.adb (Adjust_Global_Switches): Set flag S14_Extensions
      	when -gnatd.V is set.
      	* gnat_rm.texi: Remove doc for Assert_And_Cut.
      	* opt.ads Declare new flag S14_Extensions, to be set when new
      	aspects/pragmas/attributes for formal verification should be
      	accepted.
      	* sem_prag.adb (Analyze_Pragma): Check that S14_Extensions is
      	set when treating pragma Assert_And_Cut.
      
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-tarest.ads, s-tassta.adb: Add a pragma Partition_Elaboration_Policy.
      
      From-SVN: r192931
      Arnaud Charlet committed
    • freeze.adb: Minor reformatting. · 1b73408a
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb: Minor reformatting.
      
      From-SVN: r192930
      Robert Dewar committed
    • [multiple changes] · a5a809b2
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* xr_tabls.adb, xr_tabls.ads, exp_ch9.adb, snames.adb-tmpl,
      	snames.ads-tmpl, exp_ch3.adb: Minor reformatting.
      
      2012-10-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb: Call Build_Subprogrm_Instance_Renamings only when
      	generating code.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_ugn.texi: Add documentation for -gnatw.k/-gnatw.K.
      	* ug_words: Add entries for -gnatw.k/.K for [NO]STANDARD_REDEFINITION.
      	* vms_data.ads: Add entries for [NO]STANDARD_REDEFINITION.
      
      From-SVN: r192929
      Arnaud Charlet committed
    • [multiple changes] · 54f471f0
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb, s-tarest.ads, exp_ch3.adb: Update comments.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Minor documentation addition.
      
      2012-10-29  Emmanuel Briot  <briot@adacore.com>
      
      	* xr_tabls.adb, xr_tabls.ads (Add_Declaration, Add_Reference): No
      	longer assume that a parameter declaration is seen after the subprogram
      	that uses it.
      
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* lib-writ.adb (Write_ALI): Emit partition elaboration policy
      	in P line.
      	* lib-writ.ads: Document partition elaboration policy indication.
      	* sem_prag.adb (Check_Arg_Is_Partition_Elaboration_Policy): New
      	procedure.
      	(Analyze_Pragma): Handle Partition_Elaboration_Policy.
      	(Sig_Flags): Add flag for Pragma_Partition_Elaboration_Policy
      	* ali.adb (Initialize_ALI): Init Partition_Elaboration_Policy_Specified.
      	(Scan_ALI): Read Ex indications.
      	* ali.ads: ALIs_Record: Add Partition_Elaboration_Policy.
      	* par-prag.adb (Prag): Add Partition_Elaboration_Policy.
      	* snames.adb-tmpl (Is_Partition_Elaboration_Policy_Name): New function.
      	* opt.ads (Partition_Elaboration_Policy): Declare.
      	(Partition_Elaboration_Policy_Sloc): Declare.
      	* bcheck.adb (Check_Consistent_Partition_Elaboration_Policy):
      	New procedure.	(Check_Configuration_Consistency): Check partition
      	elaboration policy consistency.
      	* snames.ads-tmpl (Name_Partition_Elaboration_Policy): New name.
      	(First_Partition_Elaboration_Policy_Name, Name_Concurrent,
      	Name_Sequential, Last_Partition_Elaboration_Policy_Name): Likewise.
      	(Pragma_Partition_Elaboration_Policy): New literal.
      	(Is_Partition_Elaboration_Policy_Name): New function.
      
      2012-10-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Is_Public_Subprogram_For): Handle properly
      	expression functions, which are rewritten as subprogram
      	declarations, when generating invariants for its return value
      	and in-out parameters.
      
      From-SVN: r192928
      Arnaud Charlet committed
    • [multiple changes] · 0cc71b48
      2012-10-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* warnsw.adb (Set_GNAT_Mode_Warnings): Unset
      	Warn_On_Standard_Redefinition.
      
      2012-10-29  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Derive_Progenitor_Subprograms): Complete documentation.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch11.adb (Warn_If_Standard_Redefinition): Add calls.
      	* par-ch3.adb (P_Defining_Identifier): Call
      	Warn_If_Standard_Redefinition if not inside record definition.
      	* par-ch6.adb (Warn_If_Standard_Redefinition): Add calls.
      	* par-util.adb (Warn_If_Standard_Redefinition): New procedure.
      	* par.adb (Inside_Record_Definition): New flag.
      	(Warn_If_Standard_Redefinition): New procedure.
      	* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier): Remove
      	handling of warning for redefining standard name (moved to Par*).
      
      From-SVN: r192927
      Arnaud Charlet committed
    • [multiple changes] · f0b741b6
      2012-10-29  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Derive_Progenitor_Subprograms): Disable small
      	optimization in generic formal types.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch9.adb, exp_ch3.adb: Add comments.
      	* sem_prag.adb: Minor reformatting.
      
      From-SVN: r192926
      Arnaud Charlet committed
    • bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for Is_Elaborated if not referenced. · c18e9f65
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* bindgen.adb (Gen_Output_File_Ada): Do not emit declaration for
      	Is_Elaborated if not referenced.
      
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb (Build_Activation_Chain_Entity): Punt in restricted
      	profile.
      	* exp_ch3.adb (Build_Initialization_Call): Do no append _Chain
      	parameter in restricted profile.
      	(Build_Init_Call_Thru): Likewise.
      	(Init_Formals): Likewise.
      	* exp_ch3.adb: Minor reformatting.
      
      From-SVN: r192925
      Tristan Gingold committed
    • [multiple changes] · c607e6d5
      2012-10-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* usage.adb: Update usage line for -gnatw.k.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb: Code clean up.
      
      From-SVN: r192924
      Arnaud Charlet committed
    • [multiple changes] · 9c79f208
      2012-10-29  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-win32.ads: Kill potential warning.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Describe new pragma Assert_And_Cut.
      	* par-prag.adb, sem_prag.adb, snames.ads-tmpl: Add new pragma
      	and treat it like pragma Assert.
      
      From-SVN: r192923
      Arnaud Charlet committed
    • [multiple changes] · 061bc17d
      2012-10-29  Vincent Celier  <celier@adacore.com>
      
      	* projects.texi: Clarify documentation of attribute
      	Ignore_Source_Sub_Dirs.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* g-sechas.adb, g-sechas.ads, exp_ch9.adb, bindgen.adb, exp_dbug.adb,
      	exp_dbug.ads: Minor reformatting.
      
      From-SVN: r192922
      Arnaud Charlet committed
    • g-sechas.adb, [...]: (Binary_Message_Digest): New subtype. · 59a9c170
      2012-10-29  Pascal Obry  <obry@adacore.com>
      
      	* g-sechas.adb, g-sechas.ads: (Binary_Message_Digest): New subtype.
      	(Digest): New versions returning a Binary_Message_Digest.
      	(Wide_Digest): Likewise.
      
      From-SVN: r192921
      Pascal Obry committed
    • [multiple changes] · 63d0d1a3
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* warnsw.adb: Complete previous change.
      
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* bindgen.adb (Check_File_In_Partition, Check_System_Restrictions_Used):
      	Removed.
      	(Check_Dispatching_Domains_Used): Removed.
      	(Gen_Adafinal): Remove call to above procedures.
      	(Resolve_Binder_Options): Handle system restrictions and dispatching
      	domains.
      
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Remove
      	Chain parameter.
      	* exp_ch9.adb (Make_Task_Create_Call): Do not add Chain parameter
      	on restricted runtime.
      
      2012-10-29  Pascal Obry  <obry@adacore.com>
      
      	* g-sechas.adb, g-sechas.ads: Minor code clean-up.
      
      From-SVN: r192920
      Arnaud Charlet committed
    • [multiple changes] · 616547fa
      2012-10-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aux.adb (Get_Rep_Item): Treat Priority and Interrupt_Priority
      	as equivalent, because only one of them can be specified for a
      	task, protected definition, or subprogram body.
      	* aspects.adb ((Same_Aspect): The canonical aspect of
      	Interrupt_Priority is Priority.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* i-cstrea.ads: Avoid redefinition of standard symbol string.
      	* prj-makr.adb: Add comment for OK redefinition of Stadard.
      	* prj.ads: Add comment for OK redefinition of Stadard.
      	* s-crtl.ads: Avoid redefinition of standard symbol string.
      	* sinfo-cn.adb (Change_Identifier_To_Defining_Identifier):
      	Generate warning for standard redefinition if
      	Warn_On_Standard_Definition set.
      	* usage.adb: Add lines for -gnatw.k and -gnatw.K
      	* warnsw.adb: Set/reset Warn_On_Standard_Redefinition
      	appropriately.
      	* warnsw.ads (Warn_On_Standard_Redefinition): New flag.
      	* s-stratt-xdr.adb: Avoid new warning.
      
      2012-10-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_dbug.ads, exp_dbug.adb (Build_Subprogram_Instance_Renamings):
      	in the body of a subpogram instance, introduce local renamings
      	for actuals of an elementary type, so that GDB can recover the
      	values of these actuals more directly.
      
      From-SVN: r192919
      Arnaud Charlet committed
    • [multiple changes] · 30ebb114
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch5.adb (Analyze_Loop_Statement): Add warning for identical
      	inner/outer ranges.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads: Change terminology "present" to "defined" in talking
      	about whether a given field is defined for a given entity kind.
      
      2012-10-29  Bob Duff  <duff@adacore.com>
      
      	* atree.ads: Minor comment fix.
      
      2012-10-29  Bob Duff  <duff@adacore.com>
      
      	* sem_ch13.adb (Replace_Type_Reference): Set_Comes_From_Source.
      	Otherwise, the node is ignored by ASIS.
      	* sem_ch5.adb: Minor reformatting.
      
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_attr.adb, exp_dist.adb, exp_dist.ads (Build_To_Any_Call): Pass
      	an explicit Loc parameter to set the source location of generated
      	nodes.
      
      2012-10-29  Tristan Gingold  <gingold@adacore.com>
      
      	* exp_ch9.adb (Build_Task_Activation_Call): Do nothing on
      	restricted profile.
      	* bindgen.adb (System_Tasking_Restricted_Stages_Used): New variable.
      	(Gen_Adainit): Declare and call Activate_Tasks when the above variable
      	is set.
      	(Resolve_Binder_Options): Set the variable.
      	* rtsfind.ads (RE_Activate_Restricted_Tasks): Removed (now unused).
      	* s-tarest.adb (Tasks_Activation_Chain): New variable.
      	(Activate_Restricted_Tasks): Removed, and replaced by ...
      	(Activate_Tasks): New procedure, to activate all tasks at
      	the end of elaboration.
      	(Create_Restricted_Tasks): Chain parameter is now unreferenced.	Put
      	the created task on the Tasks_Activation_Chain list.
      	* s-tarest.ads (Activate_Restricted_Tasks): Removed.
      	(Activate_Tasks): Added.
      
      2012-10-29  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_res.adb (Resolve_If_Expression): Compare subtype of the 'then'
      	expression against the subtype of the expression rather than comparing
      	base types, same as is already done for the 'else' expression.
      
      From-SVN: r192918
      Arnaud Charlet committed
    • [multiple changes] · 2a8fcd43
      2012-10-29  Steve Baird  <baird@adacore.com>
      
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): If CodePeer_Mode
      	= True and we detect that an Address specification is used to overlay
      	another object, do not set that object's Treat_As_Volatile flag.
      
      2012-10-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Constant_Redeclaration): If the type of a
      	deferred constant has invariants, generate invariant call on
      	the initial value.
      
      From-SVN: r192917
      Arnaud Charlet committed
    • sem_ch13.adb (Replace_Type_Reference): Use correct sloc for the new node. · 415450ea
      2012-10-29  Bob Duff  <duff@adacore.com>
      
      	* sem_ch13.adb (Replace_Type_Reference): Use correct sloc for
      	the new node.
      
      From-SVN: r192916
      Bob Duff committed
    • [multiple changes] · 37ae92c4
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_elab.adb: Minor reformatting and code reorganization.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch4.adb (P_Primary): Warn on bad use of unary minus.
      
      2012-10-29  Robert Dewar  <dewar@adacore.com>
      
      	* s-valuti.ads, s-valuti.adb (Bad_Value): New procedure.
      	* s-valllu.adb, s-valwch.adb, s-valcha.adb, s-valint.adb,
      	s-valuns.adb, s-valrea.adb, s-valboo.adb, s-valenu.adb,
      	s-vallli.adb: Use Bad_Value everywhere.
      
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Do not suppress checks
      	in Alfa mode.
      
      From-SVN: r192915
      Arnaud Charlet committed
    • [multiple changes] · f6636994
      2012-10-29  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb (Apply_Arithmetic_Overflow_Minimized_Eliminated):
      	Add special case for case expression alternative.
      	(Is_Signed_Integer_Arithmetic_Op): Remove special case for case
      	expression alternative.
      	* exp_ch4.adb Minor reformatting.
      
      2012-10-29  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_elab.adb: Minor reformatting.
      
      2012-10-29  Bob Duff  <duff@adacore.com>
      
      	* sem_res.adb: Minor: Remove redundant test.
      
      From-SVN: r192914
      Arnaud Charlet committed
    • * pprint.ads, pprint.adb: New. · 1f41ed06
      From-SVN: r192909
      Arnaud Charlet committed
  4. 23 Oct, 2012 1 commit
    • linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define. · 3b601ca3
      	* config/mips/linux-common.h (STACK_CHECK_STATIC_BUILTIN): Define.
      	(STACK_CHECK_PROTECT): Likewise.
      	* config/mips/mips.h (MIPS_PROLOGUE_TEMP2_REGNUM): Likewise.
      	(MIPS_PROLOGUE_TEMP2): Likewise.
      	* config/mips/mips-protos.h (mips_output_probe_stack_range): Declare.
      	* config/mips/mips.c: Include common/common-target.h.
      	(mips_emit_probe_stack_range): New function.
      	(mips_output_probe_stack_range): Likewise.
      	(mips_expand_prologue): Invoke mips_emit_probe_stack_range if static
      	builtin stack checking is enabled.
      	* config/mips/mips.md (UNSPEC_PROBE_STACK_RANGE): New constant.
      	(probe_stack_range_<P:mode>): New insn.
      ada/
      	* system-linux-mipsel.ads (Stack_Check_Probes): Set to True.
      	* system-linux-mips.ads (Stack_Check_Probes): Likewise.
      	* system-linux-mips64el.ads (Stack_Check_Probes): Likewise.
      
      From-SVN: r192713
      Eric Botcazou committed
  5. 22 Oct, 2012 7 commits