1. 06 Sep, 2011 7 commits
    • [multiple changes] · 57a3fca9
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* exp_ch7.adb, g-comlin.adb: Minor reformatting.
      
      2011-09-06  Steve Baird  <baird@adacore.com>
      
      	* exp_ch4.adb (Expand_Allocator_Expression): Look through
      	derived subprograms in checking for presence of an
      	Extra_Accessibility_Of_Result formal parameter.
      	* exp_ch6.adb (Expand_Call): Look through derived subprograms in
      	checking for presence of an Extra_Accessibility_Of_Result formal
      	parameter.
      	(Expand_Call.Add_Actual_Parameter): Fix a bug in the
      	case where the Parameter_Associatiations attribute is already set,
      	but set to an empty list.
      	(Needs_Result_Accessibility_Level):
      	Unconditionally return False. This is a temporary
      	change, disabling the Extra_Accessibility_Of_Result
      	mechanism.
      	(Expand_Simple_Function_Return): Check for
      	Extra_Accessibility_Of_Result parameter's presence instead of
      	testing Ada_Version when generating a runtime accessibility
      	check which makes use of the parameter.
      
      From-SVN: r178571
      Arnaud Charlet committed
    • [multiple changes] · eaed0c37
      2011-09-06  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
      	expression in a given case alternative must be attached to the
      	statement list of the ccrresponding case statement alternative
      	They cannot be propagated ahead of the case statement, because
      	the validity of the expression that generated the action may
      	hold only for that alternative.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb: Remove with and use clauses for Get_Targ.
      	(Alignment_Of): Remove the code for strict alignment targets.
      	(Double_Alignment_Of): Removed.
      	(Double_Size_Of): New routine.
      	(Make_Finalize_Address_Stmts): Change the
      	calculation of the dope's size.  Update relevant comments.
      	(Size_Of): New routine.
      
      From-SVN: r178570
      Arnaud Charlet committed
    • [multiple changes] · b8a93198
      2011-09-06  Steve Baird  <baird@adacore.com>
      
      	* einfo.ads (Extra_Accessibility): Update associated comment to use
      	the term "present" correctly ("present" just means that it is not
      	an error to query the value of the attribute - it does not imply
      	that the value must be non-null).
      	(Extra_Constrained): Ditto.
      	(Is_Visible_Formal): Ditto.
      	(Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
      	(Set_Extra_Accessibility_Of_Result): Add Inline pragma.
      	* exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
      	* exp_ch6.adb (Expand_Call): The callee may require an
      	Extra_Accessibility_Of_Result actual parameter even if Ada_Version
      	< Ada_2012. This can occur if the callee is exported from a Gnat
      	runtimes unit. Also improve a comment.
      
      2011-09-06  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb: Add with and use clauses for Get_Targ.
      	(Alignment_Of): Rename formal parameter Some_Typ
      	to Typ, update related comment. Use the allocator alignment on
      	strict alignment targets such as SPARC.
      	(Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
      	related comment.
      
      2011-09-06  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch9.adb (Check_Interfaces): Test
      	Is_Limited_Type rather than Is_Limited_Record when checking that
      	the partial view of a synchronized full view must be limited.
      
      2011-09-06  Emmanuel Briot  <briot@adacore.com>
      
      	* g-comlin.adb (Free): Fix memory leak.
      
      From-SVN: r178569
      Arnaud Charlet committed
    • sem_util.adb, [...]: Minor reformatting and code reorganization. · ebf494ec
      2011-09-06  Robert Dewar  <dewar@adacore.com>
      
      	* sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
      
      From-SVN: r178568
      Robert Dewar committed
    • einfo.ads (Extra_Accessibility_Of_Result): New function... · 63585f75
      2011-09-06  Steve Baird  <baird@adacore.com>
      
      	* einfo.ads (Extra_Accessibility_Of_Result): New function; in the
      	(Ada2012) cases described in AI05-0234 where the accessibility
      	level of a function result is "determined by the point of
      	call", an implicit parameter representing that accessibility
      	level is passed in. Extra_Accessibilty_Of_Result yields this
      	additional formal parameter. Extra_Accessibility_Of_Result
      	is analogous to the existing Extra_Accessibility
      	function used in the implementation of access parameters.
      	(Set_Extra_Accessibility_Of_Result): New procedure; sets
      	Extra_Accessibility_Of_Result attribute.
      	* einfo.adb (Extra_Accessibility_Of_Result): New function.
      	(Set_Extra_Accessibility_Of_Result): New procedure.
      	(Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
      	* sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
      	an accessibility level literal to Natural; introduce a nested
      	function, Make_Level_Literal, to do this.
      	* exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
      	determines whether a given function (or access-to-function
      	type) needs to have an implicitly-declared accessibility-level
      	parameter added to its profile.
      	(Add_Extra_Actual_To_Call): Export an existing procedure which was
      	previously declared in the body of Exp_Ch6.
      	* exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
      	it to exp_ch6.ads.
      	(Has_Unconstrained_Access_Discriminants): New Function; a
      	predicate on subtype entities which returns True if the given
      	subtype is unconstrained and has one or more access discriminants.
      	(Expand_Call): When expanding a call to a function which takes an
      	Extra_Accessibility_Of_Result parameter, pass in the appropriate
      	actual parameter value. In the case of a function call which is
      	used to initialize an allocator, this may not be possible because
      	the Etype of the allocator may not have been set yet. In this
      	case, we defer passing in the parameter and handle it later in
      	Expand_Allocator_Expression.
      	(Expand_Simple_Function_Return): When returning from a function which
      	returns an unconstrained subtype having at least one access
      	discriminant, generate the accessibility check needed to ensure that
      	the function result will not outlive any objects designated by its
      	discriminants.
      	(Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
      	description.
      	* exp_ch4.adb (Expand_Allocator_Expression): When a function call
      	is used to initialize an allocator, we may need to pass in "the
      	accessibility level determined by the point of call" (AI05-0234)
      	to the function. Expand_Call, where such actual parameters are
      	usually generated, is too early in this case because the Etype of
      	the allocator (which is used in determining the level to be passed
      	in) may not have been set yet when Expand_Call executes. Instead,
      	we generate code to pass in the appropriate actual parameter
      	in Expand_Allocator_Expression.
      	* sem_ch6.adb (Create_Extra_Formals): Create
      	the new Extra_Accessibility_Of_Result formal if
      	Needs_Result_Accessibility_Level returns True. This includes the
      	introduction of a nested procedure, Check_Against_Result_Level.
      
      From-SVN: r178567
      Steve Baird committed
    • Makefile.in (X86_TARGET_PAIRS): Remove duplicate declaration. · 1a982c6e
      	* gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
      	declaration.
      
      From-SVN: r178566
      Arnaud Charlet committed
    • Daily bump. · 5a80bdf9
      From-SVN: r178562
      GCC Administrator committed
  2. 05 Sep, 2011 33 commits
    • sol2-64.h: Move ... · 4f4f4f54
      	* config/sparc/sol2-64.h: Move ...
      	* config/sparc/default-64.h: ... to here.  Update comment.
      	* config.gcc: Update Solaris sparc to use default-64.h, also
      	prefix this header into the list on sparc64-*-linux.
      	* config/sparc/linux64.h (TARGET_DEFAULT): Only override if
      	TARGET_64BIT_DEFAULT is defined.  Remove commented out reference
      	to MASK_HARD_QUAD.
      
      From-SVN: r178558
      David S. Miller committed
    • re PR target/49606 (mips64: o64 Unrecognizable insn when one noreturn function… · 81a478c8
      re PR target/49606 (mips64: o64 Unrecognizable insn when one noreturn function calling another noreturn function)
      
      gcc/
      	PR target/49606
      	* config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): Check Pmode.
      	(PMODE_INSN): New macro.
      	* config/mips/mips.c (gen_load_const_gp): Use PMODE_INSN.
      	(mips_got_load, mips_expand_synci_loop): Likewise.
      	(mips_save_gp_to_cprestore_slot): Handle SImode and DImode
      	cprestore patterns.
      	(mips_emit_loadgp): Use PMODE_INSN.  Handle SImode and DImode
      	copygp_mips16 patterns.
      	(mips_expand_prologue): Handle SImode and DImode potential_cprestore
      	and use_cprestore patterns.
      	(mips_override_options): Check for incompatible -mabi and -mlong
      	combinations.
      	* config/mips/mips.md (unspec_got<mode>): Rename to...
      	(unspec_got_<mode>): ...this.
      	(copygp_mips16): Use the Pmode iterator.
      	(potential_cprestore, cprestore, use_cprestore): Likewise.
      	(clear_cache, indirect_jump): Use PMODE_INSN.
      	(indirect_jump<mode>): Rename to...
      	(indirect_jump_<mode>): ...this.
      	(tablejump): Use PMODE_INSN.
      	(tablejump<mode>): Rename to...
      	(tablejump_<mode>): ...this.
      	(exception_receiver): Handle restore_gp_si and restore_gp_di.
      	(restore_gp): Use the Pmode iterator.
      	* config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Use
      	PMODE_INSN.
      
      gcc/testsuite/
      	PR target/49606
      	* gcc.target/mips/abi-main.h: New file.
      	* gcc.target/mips/abi-o32-long32.c: New test.
      	* gcc.target/mips/abi-o32-long64.c: Likewise.
      	* gcc.target/mips/abi-o64-long32.c: Likewise.
      	* gcc.target/mips/abi-o64-long64.c: Likewise.
      	* gcc.target/mips/abi-n32-long32.c: Likewise.
      	* gcc.target/mips/abi-n32-long64.c: Likewise.
      	* gcc.target/mips/abi-n64-long32.c: Likewise.
      	* gcc.target/mips/abi-n64-long64.c: Likewise.
      	* gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
      	* gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
      	* gcc.target/mips/abi-o32-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-o32-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-o64-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-o64-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-n32-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-n32-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-n64-long32-pic.c: Likewise.
      	* gcc.target/mips/abi-n64-long64-pic.c: Likewise.
      	* gcc.target/mips/abi-eabi32-long32.c: Likewise.
      	* gcc.target/mips/abi-eabi32-long64.c: Likewise.
      	* gcc.target/mips/abi-eabi64-long32.c: Likewise.
      	* gcc.target/mips/abi-eabi64-long64.c: Likewise.
      	* gcc.target/mips/mips.exp: Make -mshared implied -mabicalls.
      	* gcc.target/mips/branch-2.c: Remove -mabicalls.
      	* gcc.target/mips/branch-3.c: Likewise.
      	* gcc.target/mips/branch-4.c: Likewise.
      	* gcc.target/mips/branch-5.c: Likewise.
      	* gcc.target/mips/branch-6.c: Likewise.
      	* gcc.target/mips/branch-7.c: Likewise.
      	* gcc.target/mips/branch-8.c: Likewise.
      	* gcc.target/mips/branch-9.c: Likewise.
      	* gcc.target/mips/branch-10.c: Likewise.
      	* gcc.target/mips/branch-11.c: Likewise.
      	* gcc.target/mips/branch-12.c: Likewise.
      	* gcc.target/mips/branch-13.c: Likewise.
      	* gcc.target/mips/lazy-binding-1.c: Likewise.
      
      From-SVN: r178557
      Richard Sandiford committed
    • mips.c (mips_gimplify_va_arg_expr): Unshare off. · 1ab9ec7b
      gcc/
      	* config/mips/mips.c (mips_gimplify_va_arg_expr): Unshare off.
      	Fix the type of the BIT_AND_EXPR.
      
      From-SVN: r178556
      Richard Sandiford committed
    • config.gcc: Recognize niagara3 and niagara4 in --with-cpu and --with-tune options. · 70847a48
      	* config.gcc: Recognize niagara3 and niagara4 in --with-cpu
      	and --with-tune options.
      
      From-SVN: r178555
      David S. Miller committed
    • sparc-opts.h (PROCESSOR_NIAGARA3, [...]): New. · 3e64c239
      	* config/sparc/sparc-opts.h (PROCESSOR_NIAGARA3,
      	PROCESSOR_NIAGARA4): New.
      	* config/sparc/sparc.opt: Handle new processor types.
      	* config/sparc/sparc.md: Add to "cpu" attribute.
      	* config/sparc/sparc.h (TARGET_CPU_niagara3,
      	TARGET_CPU_niagara4): New, treat as niagara2.
      	* config/sparc/linux64.h: Handle niagara3 and niagara4
      	like niagara2.
      	* config/sparc/sol2.h: Likewise.
      	* config/sparc/niagara2.md: Schedule niagara3 like
      	niagara2.
      	* config/sparc/sparc.c (sparc_option_override): Add
      	niagara3 and niagara4 handling.
      	(sparc32_initialize_trampoline): Likewise.
      	(sparc64_initialize_trampoline): Likewise.
      	(sparc_use_sched_lookahead): Likewise.
      	(sparc_issue_rate): Likewise.
      	(sparc_register_move_cost): Likewise.
      	* config/sparc/driver-sparc.c (cpu_names): Use niagara3
      	and niagara4 as appropriate.
      	* doc/invoke.texi: Document new processor types.
      
      From-SVN: r178554
      David S. Miller committed
    • config.host: Add driver-sparc.o and sparc/x-sparc on native sparc*-*-linux* builds. · 0913b2d6
      	* config.host: Add driver-sparc.o and sparc/x-sparc on
      	native sparc*-*-linux* builds.
      	* config/sparc/driver-sparc.c: Correct Linux strings.
      	* config/sparc/linux.h: Add DRIVER_SELF_SPECS.
      	* config/sparc/linux64.h: Likewise.
      	* doc/invoke.texi: Document that Linux also supports
      	-mcpu=native and -mtune=native on sparc.
      
      From-SVN: r178553
      David S. Miller committed
    • [multiple changes] · e42bcfa3
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-finmas.adb (Set_Finalize_Address): Explain the reason
      	for the synchronization. Move the test for null from
      	s-stposu.Allocate_Any_Controlled to this routine since the check
      	needs to be protected too.
      	(Set_Heterogeneous_Finalize_Address): Explain the reason for the
      	synchronization code.
      	* s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
      	explaining the context in which this routine is used.
      	* s-stposu.adb (Allocate_Any_Controlled): Move the test for null
      	to s-finmas.Set_Finalize_Address.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* einfo.ads: Document that itypes have no parent field.
      
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* rtsfind.adb (Check_CRT): Check for overloaded entity
      	* rtsfind.ads: Document that entities to be found by rtsfind
      	cannot be overloaded
      	* s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
      	(Lock_Entries_With_Status): New name for Lock_Entries with two
      	arguments (changed to meet rtsfind no overloading rule).
      
      From-SVN: r178551
      Arnaud Charlet committed
    • [multiple changes] · 544e7c17
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-finmas.adb (Set_Finalize_Address (Address,
      	Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
      	(Set_Finalize_Address (in out Finalization_Master,
      	Finalize_Address_Ptr): Add synchronization code.
      	* s-finmas.ads (Set_Finalize_Address (Address,
      	Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
      	* s-stposu.adb (Allocate_Any_Controlled): Update the call to
      	Set_Finalize_Address for the heterogeneous case.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb: Undo previous change, not suitable after all.
      
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads: Minor comment clarification.
      
      From-SVN: r178550
      Arnaud Charlet committed
    • [multiple changes] · 0613fb33
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
      	no longer needs to search through the entities of the return
      	statement scope to find the _chain.
      	* sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
      	(Analyze_Block_Statement): Add local variable
      	Is_BIP_Return_Statement. Add machinery to install all entities
      	produced by the expansion of the return object declaration.
      	(Install_Return_Entities): New routine.
      	* sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch10.adb (Analyze_Context): Apply simple fixup if context
      	of subunit is incomplete.
      	(Analyze_Proper_Body): If parent spec is not available, do not
      	attempt analysis.
      
      From-SVN: r178549
      Arnaud Charlet committed
    • [multiple changes] · 5dcab3ca
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_disp.adb (Find_Controlling_Arg): Add checks for
      	interface type conversions, that are expanded into dereferences.
      
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper):
      	Examine the parameter and return profile of a subprogram and swap
      	any incomplete types coming from a limited context with their
      	corresponding non-limited views.
      	(Exchange_Limited_Views): New routine.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
      	of internal entity to the subtype declaration, so that when
      	entities are subsequently exchanged in a package body, the tree
      	remains properly formatted for ASIS.
      
      From-SVN: r178548
      Arnaud Charlet committed
    • [multiple changes] · 8da1a312
      2011-09-05  Johannes Kanig  <kanig@adacore.com>
      
      	* g-comlin.adb (Set_Usage): Additional optional argument to set help
      	message.
      	(Display_Help): display the user given help message, if available.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
      	is legal if the original node is an identifier that is a
      	parameterless function call.
      
      From-SVN: r178547
      Arnaud Charlet committed
    • prj-nmsc.adb: Minor reformatting. · 69b73847
      2011-09-05  Pascal Obry  <obry@adacore.com>
      
      	* prj-nmsc.adb: Minor reformatting.
      	Add support for standalone aggregate library.
      	(Check_Stand_Alone_Library): Handle standalone aggregate library.
      	* projects.texi: Fix documentation for aggregate library projects.
      
      From-SVN: r178546
      Pascal Obry committed
    • ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1 << 18 to avoid warning on int=16 platforms.. · 4e5bc135
      	* gcc.dg/ipa/ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1
      	<< 18 to avoid warning on int=16 platforms..
      
      From-SVN: r178545
      Georg-Johann Lay committed
    • [multiple changes] · 81bf2382
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch6.adb: Minor reformatting.
      
      2011-09-05  Matthew Gingell  <gingell@adacore.com>
      
      	* s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
      	stack guard page on PPC Linux. This patch ensures the 64K guard page at
      	the bottom of the stack is not overwritten.
      
      From-SVN: r178544
      Arnaud Charlet committed
    • [multiple changes] · 13a0b1e8
      2011-09-05  Thomas Quinot  <quinot@adacore.com>
      
      	* exp_intr.adb, s-tasini.adb: Minor reformatting.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Access_Definition): If an access type declaration
      	appears in a child unit, the scope of whatever anonymous type
      	may be generated is the child unit itself.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): Do not set
      	Comes_From_Source on rewritten body.
      	(Analyze_Subprogram_Body_Helper): Check that the original node for
      	the body comes from source, when determining whether expansion
      	of a protected operation is needed.
      
      From-SVN: r178543
      Arnaud Charlet committed
    • [multiple changes] · 20428725
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_aggr.adb (Replace_Type): If the target of the assignment is
      	a selected component and the right-hand side is a self-referential
      	access, the proper prefix of the rewritten attribute is a copy
      	of the left-hand side, not of its prefix.
      
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch5.adb: Minor reformatting.
      	* sem_ch3.adb: Minor code clean up.
      
      2011-09-05  Jose Ruiz  <ruiz@adacore.com>
      
      	* exp_ch9.adb (Make_Initialize_Protection): The fact that
      	restriction No_Dynamic_Attachment is in effect or not should
      	not influence the default priority associated to a protected
      	object. With this change, when the restriction is in effect (as
      	is the case for the Ravenscar profile) the default priority of
      	a protected object with an interrupt handler is in the range of
      	interrupt priorities (Default_Interrupt_Priority) as required
      	by D.3(10).
      
      2011-09-05  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-iteint.ads: Fix header.
      
      2011-09-05  Vincent Celier  <celier@adacore.com>
      
      	* prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
      	with a directory separator to avoid output such as:
      	  "/path/to/objauto.cgpr" has been deleted.
      
      From-SVN: r178542
      Arnaud Charlet committed
    • struct-layout-1_test.h: Decrease bitfield size to work even with -fshort-enums. · e8b803e6
      	* gcc.dg/compat/struct-layout-1_test.h: Decrease bitfield size
      	to work even with -fshort-enums.
      
      From-SVN: r178540
      Jakub Jelinek committed
    • [multiple changes] · 4a1bfefb
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb: Minor reformatting.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb: Better error message.
      
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_aggr.adb: Add with and use clause for Exp_Ch6.
      	(Expand_Array_Aggregate): Detect a special case of an aggregate
      	which contains tasks in the context of an unexpanded return
      	statement of a build-in-place function.
      	* exp_ch6.adb: Add with and use clause for Exp_Aggr.
      	(Expand_N_Extended_Return_Statement): Detect a delayed aggregate
      	which contains tasks and expand it now that the original simple
      	return statement has been rewritten.
      	* exp_ch9.adb (Build_Activation_Chain_Entity): Code
      	reformatting. Do not create a chain for an extended return
      	statement if one is already available.
      	(Has_Activation_Chain): New routine.
      
      From-SVN: r178539
      Arnaud Charlet committed
    • [multiple changes] · 9ec080cb
      2011-09-05  Marc Sango  <sango@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): Remove
      	the wrong test and add the correct test to detect the violation
      	of illegal use of unconstrained string type in SPARK mode.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iteration_Specification): Improve error
      	message on an iterator over an array.
      
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* lib-xref-alfa.adb: Minor reformatting.
      
      From-SVN: r178538
      Arnaud Charlet committed
    • [multiple changes] · 94bbf008
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.adb (Write_Field28_Name): Update the choices for
      	Extra_Formals.
      	* einfo.ads: Update the use of Extra_Formals in various entities.
      	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call): Code
      	reformatting. Handle the case where the function call returns
      	an incomplete type coming from a limited with context. Generate
      	a reference to the _master when the master id is associated
      	with an access type.
      	(Is_Build_In_Place_Function_Call): Code
      	reformatting. The Alfa mode case must appear first since otherwise
      	we will carry out the function name retrieval regardless of the
      	compilation mode.
      	(Make_Build_In_Place_Call_In_Allocator): Code
      	reformatting. Handle the case where the function call returns
      	an incomplete type coming from a limited with context. Remove
      	the reference creation when adding the task-related actuals,
      	this is now done in Add_Task_Actuals_To_Build_In_Place_Call.
      	* exp_ch7.adb (Make_Set_Finalize_Address_Call): Remove local
      	variable Call. Remove the useless wrapping of Set_Finalize_Address
      	when the finalization master is a build-in-place extra formal. The
      	whole mechanism of controlled allocation in a build-in-place
      	context is already protected by an if statement.
      	* sem_aux.adb (Is_Immutably_Limited_Type): Handle the case
      	where the type might be related to a function which returns an
      	incomplete type coming from a limited with.
      	* sem_ch6.adb (Create_Extra_Formals): Comment
      	reformatting. Handle the case where the function returns an
      	incomplete type coming from a limited with context.
      
      2011-09-05  Johannes Kanig  <kanig@adacore.com>
      
      	* lib-xref-alfa.adb (Is_Alfa_Reference): Improve test for constant
      	objects and rewrite case statement as /if/elsif/endif.
      
      2011-09-05  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch3.adb, sem_ch4.adb: Minor reformatting.
      
      From-SVN: r178537
      Arnaud Charlet committed
    • sem_ch3.adb, [...]: Minor reformatting. · aeae67ed
      2011-09-05  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
      	exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
      
      From-SVN: r178536
      Robert Dewar committed
    • [multiple changes] · d72e7628
      2011-09-05  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch7.adb, exp_ch6.adb: Minor reformatting.
      
      2011-09-05  Johannes Kanig  <kanig@adacore.com>
      
      	* lib-xref-alfa.adb: Update comments.
      
      2011-09-05  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_res.adb: Minor reformatting
      
      From-SVN: r178535
      Arnaud Charlet committed
    • exp_ch6.adb (Build_In_Place_Formal): If extra formals are not present, create them now. · 0d566e01
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
      	present, create them now.  Needed in case the return type was
      	a limited view in the function declaration.
      	(Make_Build_In_Place_Call_In_Allocator): If return type contains
      	tasks, build the activation chain for it.  Pass a reference to
      	the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
      	* exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
      	with build_in_place calls.
      	* sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
      	incomplete, inatialize its Corresponding_Record_Type component.
      	* sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
      	of limited views.
      
      From-SVN: r178534
      Ed Schonberg committed
    • Fix typo. · fb19dec9
      From-SVN: r178533
      Arnaud Charlet committed
    • [multiple changes] · ec09f261
      2011-09-05  Johannes Kanig  <kanig@adacore.com>
      
      	* lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
      	information.
      
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
      	appears within a package specification and the token after "IS"
      	is not a parenthesis, assume that this is an unparenthesized
      	expression function, even if the token appears in a line by
      	itself.
      	* par.adb: Clarify use of Labl field of scope stack in error
      	recovery.
      
      From-SVN: r178532
      Arnaud Charlet committed
    • [multiple changes] · 7109f4f5
      2011-09-05  Bob Duff  <duff@adacore.com>
      
      	* sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
      	conversions instead of normal type conversions in all cases where a
      	type conversion would be illegal. In particular, use unchecked
      	conversions when the operand types are private.
      
      2011-09-05  Johannes Kanig  <kanig@adacore.com>
      
      	* lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
      	objects of task type or protected type.
      
      From-SVN: r178531
      Arnaud Charlet committed
    • [multiple changes] · 66dc8075
      2011-09-05  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Expression_Function): If the expression
      	function comes from source, indicate that so does its rewriting,
      	so it is compatible with any subsequent expansion of the
      	subprogram body (e.g. when it is a protected operation).
      	* sem_ch4.adb: minor reformatting
      
      2011-09-05  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
      	Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
      	may lead to wrong ancestor package in the case of instantiated subunit
      	bodies. If a subunit is instantiated, follow the chain of instantiations
      	rather than the stub structure.
      
      From-SVN: r178530
      Arnaud Charlet committed
    • re PR target/50289 ([avr]: call-prologues saving/restoring global register variables) · 1e3a7e86
      	PR target/50289
      	* config/avr/avr.c (sequent_regs_live): Don't recognize sequences
      	that contain global register variable.
      
      From-SVN: r178528
      Georg-Johann Lay committed
    • tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace. · e1ab3876
      2011-09-05  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace.
      
      From-SVN: r178527
      Richard Guenther committed
    • stor-layout.c (layout_type): Use size_binop for array size calculations. · 830c740f
      2011-09-05  Richard Guenther  <rguenther@suse.de>
      
      	* stor-layout.c (layout_type): Use size_binop for array size
      	calculations.
      
      	c-family/
      	* c-common.c (complete_array_type): Use ssize_int (-1) instead
      	of integer_minus_one_node for empty array upper bounds.
      
      From-SVN: r178526
      Richard Guenther committed
    • avr.h (progmem_section): Remove Declaration. · c149e487
      	
      	* config/avr/avr.h (progmem_section): Remove Declaration.
      	* config/avr/avr.c (progmem_section): Make static and rename to
      	progmem_swtable_section.
      	(avr_output_addr_vec_elt): No need to switch sections.
      	(avr_asm_init_sections): Use output_section_asm_op as section
      	callback for progmem_swtable_section.
      	(avr_output_progmem_section_asm_op): Remove Function.
      	(TARGET_ASM_FUNCTION_RODATA_SECTION): New Define.
      	(avr_asm_function_rodata_section): New static Function.
      	* config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Output
      	alignment 2**1 for jump tables.
      
      From-SVN: r178525
      Georg-Johann Lay committed
    • ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that parameter is SSA name. · c5ceeb87
      	* ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
      	parameter is SSA name.
      
      From-SVN: r178524
      Jan Hubicka committed
    • revert: fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE special-casing. · 5b970a1a
      2011-09-05  Richard Guenther  <rguenther@suse.de>
      
              Revert
              2011-08-31  Richard Guenther  <rguenther@suse.de>
      
      	* fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
      	special-casing.
      
      From-SVN: r178523
      Richard Guenther committed