1. 05 Sep, 2011 23 commits
    • [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
    • re PR c++/49267 (Ambiguity with conversion functions "T&" and "T&&", initializing a "T&&") · 1a94ffae
      	PR c++/49267
      	* call.c (reference_binding): Don't set is_lvalue for an rvalue
      	reference rfrom.
      
      From-SVN: r178521
      Jason Merrill committed
    • re PR c++/49267 (Ambiguity with conversion functions "T&" and "T&&", initializing a "T&&") · 0ad2cde8
      	PR c++/49267
      	PR c++/49458
      	DR 1328
      	* call.c (reference_binding): Set rvaluedness_matches_p properly
      	for reference to function conversion ops.
      	(compare_ics): Adjust.
      
      From-SVN: r178520
      Jason Merrill committed
    • class.c (trivial_default_constructor_is_constexpr): Rename from… · fd3faf2b
      class.c (trivial_default_constructor_is_constexpr): Rename from synthesized_default_constructor_is_constexpr.
      
      	* class.c (trivial_default_constructor_is_constexpr): Rename from
      	synthesized_default_constructor_is_constexpr.
      	(type_has_constexpr_default_constructor): Adjust.
      	(add_implicitly_declared_members): Call it instead.
      	(explain_non_literal_class): Explain about non-constexpr default ctor.
      	* cp-tree.h: Adjust.
      	* method.c (synthesized_method_walk): Adjust.
      	* semantics.c (explain_invalid_constexpr_fn): Handle defaulted
      	functions, too.
      
      From-SVN: r178519
      Jason Merrill committed
    • re PR c++/50248 ([C++0x] unnecessary instantiation of constexpr constructor) · aee88012
      	PR c++/50248
      	Core 1358
      	* init.c (perform_member_init): Don't diagnose missing inits here.
      	(emit_mem_initializers): Or here.
      	* method.c (process_subob_fn): Don't instantiate constexpr ctors.
      	* semantics.c (cx_check_missing_mem_inits): New.
      	(explain_invalid_constexpr_fn): Call it.
      	(register_constexpr_fundef): Likewise.  Leave
      	DECL_DECLARED_CONSTEXPR_P set when the body is unsuitable.
      	(cxx_eval_call_expression): Adjust diagnostics.
      	(cxx_eval_constant_expression): Catch use of 'this' in a constructor.
      
      From-SVN: r178518
      Jason Merrill committed
    • Daily bump. · e818d3ff
      From-SVN: r178517
      GCC Administrator committed
  2. 04 Sep, 2011 7 commits
  3. 03 Sep, 2011 5 commits
    • ipa-prop.h (ipa_jump_func_t): New typedef. · 606d9a09
      2011-09-03  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (ipa_jump_func_t): New typedef.
      	(struct ipa_edge_args): Removed field argument_count, field
      	jump_functions turned into a vector.
      	(ipa_set_cs_argument_count): Removed.
      	(ipa_get_cs_argument_count): Updated to work on vectors.
      	(ipa_get_ith_jump_func): Likewise.
      	* ipa-prop.c (ipa_count_arguments): Removed.
      	(compute_scalar_jump_functions): Use ipa_get_ith_jump_func to access
      	jump functions.  Update caller.
      	(compute_pass_through_member_ptrs): Likewise.
      	(compute_cst_member_ptr_arguments): Likewise.
      	(ipa_compute_jump_functions_for_edge): Get number of arguments from
      	the statement, allocate vector.
      	(ipa_compute_jump_functions): Do not call ipa_count_arguments.
      	(duplicate_ipa_jump_func_array): Removed.
      	(ipa_edge_duplication_hook): Use VEC_copy, do not copy argument count.
      	(ipa_read_node_info): Allocate vector.
      
      From-SVN: r178502
      Martin Jambor committed
    • re PR middle-end/50232 (reorg.c:3971: undefined reference to `make_return_insns') · 8f15b605
      	PR middle-end/50232
      	Correct log entry for last change.
      
      From-SVN: r178501
      John David Anglin committed
    • PR Bug middle-end/50232 · 15768583
      	PR Bug middle-end/50232
      	* config/pa/pa.md (return): Define "return" insn pattern.
      	(epilogue): Use it when no epilogue is needed.
      	* config/pa/pa.c (pa_can_use_return_insn): New function.
      	* config/pa/pa-protos.h (pa_can_use_return_insn): Declare.
      
      From-SVN: r178500
      John David Anglin committed
    • cfgexpand.c (add_stack_var): Assert that the alignment is not zero. · 13868f40
      	* cfgexpand.c (add_stack_var): Assert that the alignment is not zero.
      	* tree-ssa-ccp.c (fold_builtin_alloca_for_var): Revert latest change.
      	Force at least BITS_PER_UNIT alignment on the new variable.
      
      From-SVN: r178499
      Eric Botcazou committed
    • Daily bump. · 1822c31f
      From-SVN: r178497
      GCC Administrator committed
  4. 02 Sep, 2011 5 commits
    • opts.c (print_specific_help): Fix off-by-one compare in assertion check. · 58265ea6
      2011-09-02  Gary Funck <gary@intrepid.com>
      
      	* opts.c (print_specific_help): Fix off-by-one compare in
      	assertion check.
      	* opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
      	CL_TARGET, CL_COMMON, CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED):
      	Increase by +5 to allow for more languages.
      	* optc-gen.awk: Generate #if that ensures that the number of
      	languages is within the implementation-defined limit.
      
      From-SVN: r178491
      Gary Funck committed
    • re PR middle-end/50260 (internal compiler error: Segmentation fault at… · dde460d4
      re PR middle-end/50260 (internal compiler error: Segmentation fault  at ../../gcc/gcc/tree-ssa-live.c:88)
      
      	PR middle-end/50260
      	* ipa-split.c (split_function): Call add_referenced_var.
      
      	* tree-ssa-phiopt.c (cond_store_replacement): Don't call get_var_ann.
      	(cond_if_else_store_replacement_1): Ditto.
      	* tree-ssa-pre.c (get_representative_for): Ditto.
      	(create_expression_by_pieces): Ditto.
      	(insert_into_preds_of_block): Ditto.
      	* tree-sra.c (create_access_replacement): Ditto.
      	(get_replaced_param_substitute): Ditto.
      
      From-SVN: r178489
      Michael Matz committed
    • c6x.md (collapse-ndfa, [...]): New automata_options. · 6bd9bf42
      	* config/c6x/c6x.md (collapse-ndfa, no-comb-vect): New
      	automata_options.
      	(d1, l1, s1, m1, d2, l2, s2, m2): Changed to define_query_cpu_unit.
      	(l1w, s1w, l2w, s2w): Define in the main automaton.
      	(fps1, fpl1, adddps1, adddpl1, fps2, fpl2, adddps2, adddpl2): New
      	units.
      	* config/c6x/c6x.c (c6x_sched_insn_info): Add unit_mask member.
      	(c6x_unit_names): Add the new units.
      	(c6x_unit_codes): New static array.
      	(UNIT_QID_D1, UNIT_QID_L1, UNIT_QID_S1, UNIT_QID_M1, UNIT_QID_FPS1,
      	UNIT_QID_FPL1, UNIT_QID_ADDDPS1, UNIT_QID_ADDDPL1,
      	UNIT_QID_SIDE_OFFSET): New macros.
      	(RESERVATION_S2): Adjust value.
      	(c6x_option_override): Compute c6x_unit_codes.
      	(assign_reservations): Take the unit_mask of the last instruction
      	into account.  Detect floating point reservations by looking for
      	the new units.  Don't assign reservations if the field is already
      	nonzero.
      	(struct c6x_sched_context): Add member prev_cycle_state_ctx.
      	(init_sched_state): Initialize it.
      	(c6x_clear_sched_context): Free it.
      	(insn_set_clock): Clear reservation.
      	(prev_cycle_state): New static variable.
      	(c6x_init_sched_context): Save it.
      	(c6x_sched_init): Allocate space for it and clear it.
      	(c6x_sched_dfa_pre_cycle_insn): New static function.
      	(c6x_dfa_new_cycle): Save state at the start of a new cycle.
      	(c6x_variable_issue): Only record units in the unit_mask that
      	were not set at the start of the cycle.
      	(c6x_variable_issue): Compute and store the unit_mask from the
      	current state.
      	(reorg_split_calls): Ensure the new information remains correct.
      	(TARGET_SCHED_DFA_NEW_CYCLE, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
      	TARGET_SCHED_DFA_PRE_CYCLE_INSN): Define.
      	* config/c6x/c6x.h (CPU_UNITS_QUERY): Define.
      	* config/c6x/c6x-sched.md.in (fp4_ls_N__CROSS_, adddp_ls_N__CROSS_):
      	Add special reservations.
      	* config/c6x/c6x-sched.md: Regenerate.
      
      From-SVN: r178488
      Bernd Schmidt committed
    • testsuite_allocator.h (tracker_allocator_counter:: allocate): Update allocation… · e1f3ce0d
      testsuite_allocator.h (tracker_allocator_counter:: allocate): Update allocation count only if allocation succeeded.
      
      2011-09-02  François Dumont  <fdumont@gcc.gnu.org>
      
      	* testsuite/util/testsuite_allocator.h (tracker_allocator_counter::
      	allocate): Update allocation count only if allocation succeeded.
      
      From-SVN: r178486
      François Dumont committed
    • ipa-prop.h (ipa_node_params): Removed fields called_with_var_arguments and node_versionable. · d7da5cc8
      2011-09-02  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (ipa_node_params): Removed fields
      	called_with_var_arguments and node_versionable.
      	(ipa_set_called_with_variable_arg): Removed.
      	(ipa_is_called_with_var_arguments): Likewise.
      	* ipa-cp.c (ipa_get_lattice): Fixed index check in an assert.
      	(determine_versionability): Do not check for type attributes and va
      	builtins.  Record versionability into inline summary.
      	(initialize_node_lattices): Do not check
      	ipa_is_called_with_var_arguments.
      	(propagate_constants_accross_call): Likewise, ignore arguments we do
      	not have PARM_DECLs for, set variable flag for parameters that were
      	not passed a value.
      	(create_specialized_node): Dump info that we cannot change signature.
      	* ipa-prop.c (ipa_compute_jump_functions): Do not care about variable
      	number of arguments.
      	(ipa_make_edge_direct_to_target): Likewise.
      	(ipa_update_after_lto_read): Likewise.
      	(ipa_node_duplication_hook): Do not copy called_with_var_arguments flag.
      	* tree-inline.c (copy_arguments_for_versioning): Copy PARM_DECLs if
      	they were remapped.
      
      	* testsuite/gcc.dg/ipa/ipcp-3.c: New test.
      
      From-SVN: r178485
      Martin Jambor committed