Commit Graph

111542 Commits

Author SHA1 Message Date
Eric Botcazou
1188818c65 * gnat.dg/specs/debug1.ads: Tweak pattern.
From-SVN: r178513
2011-09-04 20:56:12 +00:00
Iain Sandoe
b90c2c4c0b re PR libffi/49594 (bootstrap failure in libffi:darwin_closure for powerpc-darwin8)
PR libffi/49594
	* src/powerpc/darwin_closure.S (stubs): Make the stub binding
	helper reference track the architecture pointer size.

From-SVN: r178512
2011-09-04 19:19:39 +00:00
Iain Sandoe
c0c19685f7 re PR debug/49901 (gfortran.dg/debug/[pr35154-dwarf2.f/pr37738.f] failures on darwin)
PR debug/49901
	* config/darwin.h (DEBUG_MACRO_SECTION): New macro.

From-SVN: r178510
2011-09-04 18:50:09 +00:00
Janus Weil
30ff79fa55 re PR fortran/50227 ([OOP] ICE-on-valid with allocatable class variable)
2011-09-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50227
	* trans-types.c (gfc_sym_type): Check for proc_name.

2011-09-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50227
	* gfortran.dg/class_45a.f03: New.
	* gfortran.dg/class_45b.f03: New.

From-SVN: r178509
2011-09-04 12:49:13 +02:00
Jakub Jelinek
ad949bcc5e re PR tree-optimization/50208 (ICE: in vinfo_for_stmt at tree-vectorizer.h:598 with -ftree-vectorize -fno-tree-fre -fno-tree-pre)
PR tree-optimization/50208
        * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add an
        argument.  Check that def_stmt is inside the loop.
        (vect_recog_widen_mult_pattern): Update calls to
        vect_handle_widen_mult_by_cons.
        (vect_operation_fits_smaller_type): Check that def_stmt is
        inside the loop.


Co-Authored-By: Ira Rosen <ira.rosen@linaro.org>

From-SVN: r178508
2011-09-04 09:22:38 +00:00
Ira Rosen
7cd3603bf9 tree-vectorizer.c (vect_print_dump_info): Print line number when dumping to a file.
* tree-vectorizer.c (vect_print_dump_info): Print line
        number when dumping to a file.
        (vectorize_loops): Add new messages to dump file.

From-SVN: r178507
2011-09-04 08:53:43 +00:00
GCC Administrator
917e2efb87 Daily bump.
From-SVN: r178506
2011-09-04 00:18:34 +00:00
Martin Jambor
606d9a0976 ipa-prop.h (ipa_jump_func_t): New typedef.
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
2011-09-03 21:48:39 +02:00
John David Anglin
8f15b6055f re PR middle-end/50232 (reorg.c:3971: undefined reference to `make_return_insns')
PR middle-end/50232
	Correct log entry for last change.

From-SVN: r178501
2011-09-03 16:30:32 +00:00
John David Anglin
157685833c PR Bug middle-end/50232
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
2011-09-03 16:21:27 +00:00
Eric Botcazou
13868f4049 cfgexpand.c (add_stack_var): Assert that the alignment is not zero.
* 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
2011-09-03 14:56:53 +00:00
GCC Administrator
1822c31f05 Daily bump.
From-SVN: r178497
2011-09-03 00:18:53 +00:00
Gary Funck
58265ea647 opts.c (print_specific_help): Fix off-by-one compare in assertion check.
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
2011-09-02 21:19:17 +00:00
Michael Matz
dde460d482 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
2011-09-02 18:31:47 +00:00
Bernd Schmidt
6bd9bf4254 c6x.md (collapse-ndfa, [...]): New automata_options.
* 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
2011-09-02 17:53:54 +00:00
François Dumont
e1f3ce0db1 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
2011-09-02 15:54:16 +00:00
Martin Jambor
d7da5cc85c ipa-prop.h (ipa_node_params): Removed fields called_with_var_arguments and node_versionable.
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
2011-09-02 17:37:38 +02:00
Richard Guenther
e9e1d143b5 re PR tree-optimization/27460 (Does not vectorize statements with mixed type COND_EXPRs)
2011-09-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/27460
	PR middle-end/29269
	* doc/md.texi (vcond): Document.
	* genopinit.c (optabs): Turn vcond{,u}_optab into a conversion
	optab with two modes.
	* optabs.h (enum convert_optab_index): Add COI_vcond, COI_vcondu.
	(enum direct_optab_index): Remove DOI_vcond, DOI_vcondu.
	(vcond_optab): Adjust.
	(vcondu_optab): Likewise.
	(expand_vec_cond_expr_p): Adjust prototype.
	* optabs.c (get_vcond_icode): Adjust.
	(expand_vec_cond_expr_p): Likewise.
	(expand_vec_cond_expr): Likewise.
	* tree-vect-stmts.c (vect_is_simple_cond): Return the comparison
	vector type.
	(vectorizable_condition): Allow differing types for comparison
	and result.

	* config/i386/i386.c (ix86_expand_sse_cmp): Use proper mode
	for the comparison.
	* config/i386/sse.md (vcond<mode>): Split to
	vcond<V_256:mode><VF_256:mode>, vcond<V_128:mode><VF_128:mode>,
	vcond<V_128:mode><VI124_128:mode> and
	vcondu<V_128:mode><VI124_128:mode>.
	(vcondv2di): Change to vcond<VI8F_128:mode>v2di.
	(vconduv2di): Likewise.
	* config/arm/neon.md (vcond<mode>): Change to vcond*<mode><mode>.
	(vcondu<mode>): Likewise.
	* config/ia64/vect.md (vcond<mode>): Likewise.
	(vcondu<mode>): Likewise.
	(vcondv2sf): Likewise.
	* config/mips/mips-ps-3d.md (vcondv2sf): Likewise.
	* config/rs6000/paired.md (vcondv2sf): Likewise.
	* config/rs6000/vector.md (vcond<mode>): Likewise.
	(vcondu<mode>): Likewise.
	* config/spu/spu.md (vcond<mode>): Likewise.
	(vcondu<mode>): Likewise.

	* gcc.dg/vect/vect-cond-7.c: New testcase.

From-SVN: r178480
2011-09-02 13:53:32 +00:00
Richard Guenther
aa547a51da pretty-print.h (pp_unsigned_wide_integer): New.
2011-09-02  Richard Guenther  <rguenther@suse.de>

	* pretty-print.h (pp_unsigned_wide_integer): New.
	* tree-pretty-print.c (dump_generic_node): Print unsigned
	host-wide-int fitting INTEGER_CSTs with pp_unsigned_wide_integer.

From-SVN: r178479
2011-09-02 13:52:12 +00:00
Paolo Carlini
6aa67e7b99 bitset: Trivial formatting fixes.
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset: Trivial formatting fixes.

From-SVN: r178478
2011-09-02 13:49:10 +00:00
Joseph Myers
781a318d0d * ja.po: Update.
From-SVN: r178476
2011-09-02 14:45:31 +01:00
Richard Sandiford
42ea8b2790 re PR target/49987 (gcc.c-torture/compile/pr34856.c fails on powerpc-darwin9 from r176228)
gcc/
	PR target/49987
	* config/rs6000/rs6000.c (paired_expand_vector_init): Check for
	valid CONST_VECTOR operands.
	(rs6000_expand_vector_init): Likewise.

From-SVN: r178474
2011-09-02 13:32:10 +00:00
Paolo Carlini
0217ac04cb bitset (_Base_bitset<>::_M_are_all_aux): Remove.
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
	    Marc Glisse  <marc.glisse@normalesup.org>

	* include/std/bitset (_Base_bitset<>::_M_are_all_aux): Remove.
	(_Base_bitset<>::_M_are_all): Add.
	(bitset<>::all): Use the latter, improve implementation.

Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r178473
2011-09-02 13:30:32 +00:00
Martin Jambor
81fa35bd59 cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta.
2011-09-02  Martin Jambor  <mjambor@suse.cz>

	* cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta.
	* gimple-fold.c (gimple_get_virt_method_for_binfo): Rewritten to use
	BINFO_VTABLE.  Parameter delta removed, all callers updated.
	* tree.c (free_lang_data_in_binfo): Clear BINFO_VIRTUALs instead
	BINFO_VTABLE.
	* cgraph.c (cgraph_make_edge_direct): Removed parameter delta, updated
	all calls.
	* cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Removed
	handling of thunk_delta.
	* ipa-cp.c (get_indirect_edge_target): Removed parameter delta.
	(devirtualization_time_bonus): Do not handle thunk deltas.
	(ipcp_discover_new_direct_edges): Likewise.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
	(try_make_edge_direct_simple_call): Likewise.
	(try_make_edge_direct_virtual_call): Likewise.
	* lto-cgraph.c (output_cgraph_opt_summary_p): Likewise.  Mark
	parameter set as unused.
	(output_edge_opt_summary): Likewise.  Mark both parameters as unused.
	* lto-cgraph.c (output_cgraph_opt_summary_p): Likewise.  Mark
	parameter set as unused.
	(output_edge_opt_summary): Likewise.  Mark both parameters as unused.
	(input_edge_opt_summary): Likewise.
	* lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not stream
	BINFO_VIRTUALS at all.
	* lto-streamer-in.c (lto_input_ts_binfo_tree_pointers): Likewise.

	* testsuite/g++.dg/ipa/devirt-3.C: Added a distraction method.
	* testsuite/g++.dg/ipa/ivinline-7.C: Added a test for direct call
	discovery, xfailed test for inlining.
	* testsuite/g++.dg/ipa/ivinline-9.C: Likewise.

From-SVN: r178472
2011-09-02 15:26:30 +02:00
Richard Guenther
5d882cc1da tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not fold alloca (0).
2011-09-02  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not
	fold alloca (0).
	(ccp_fold_stmt): Continue replacing args when folding
	alloca fails.

From-SVN: r178465
2011-09-02 11:53:55 +00:00
Paolo Carlini
5da7fa30da re PR libstdc++/50268 ([C++0x] bitset doesn't sanitize input)
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
	    Marc Glisse  <marc.glisse@normalesup.org>

	PR libstdc++/50268
	* include/std/bitset (struct _Sanitize_val): Add.
	(bitset<>::bitset(unsigned long long)): Fix.
	* testsuite/23_containers/bitset/cons/50268.cc: New.

Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r178463
2011-09-02 10:28:36 +00:00
Arnaud Charlet
bd38b43159 [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb, sem_ch6.adb: Minor reformatting.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-09-02  Marc Sango  <sango@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Change
	comment and add additional check to differentiate constant of
	type string from others unconstrained type.

From-SVN: r178462
2011-09-02 12:10:35 +02:00
Ed Schonberg
99d520ade5 sinfo.ads, sinfo.adb: New semantic attribute Premature_Use...
2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
	present in incomplete type declarations to refine the error
	message the full declaration is in the same unit.
	* sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
	an incomplete type, set the Premature_Use for additional message.
	* sem_ch3.adb (Find_Type_Name): If partial view is incomplete
	and Premature_Use is set, place additional information at the
	point of premature use.

From-SVN: r178461
2011-09-02 12:07:35 +02:00
Arnaud Charlet
5b5588dd53 [multiple changes]
2011-09-02  Bob Duff  <duff@adacore.com>

	* sem_ch6.adb: (Check_Post_State): Suppress warning
	"postcondition refers only to pre-state" when the expression has not
	yet been analyzed, because it causes false alarms. This can happen when
	the postcondition contains a quantified expression, because those are
	analyzed later. This is a temporary/partial fix.
	(Process_Post_Conditions): Minor: change wording of warning.

2011-09-02  Marc Sango  <sango@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
	illegal use of unconstrained string type in SPARK mode.
	* sem_res.adb (Analyze_Operator_Symbol): Set the
	right place where the string operand of concatenation should be
	violate in SPARK mode.

From-SVN: r178460
2011-09-02 11:59:32 +02:00
Robert Dewar
bd603506f6 sem_prag.adb, [...]: Minor reformatting.
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
	exp_ch3.adb: Minor reformatting.

From-SVN: r178459
2011-09-02 11:57:21 +02:00
Arnaud Charlet
24a120ac01 [multiple changes]
2011-09-02  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
	as the compiler driver so Is_Compilable returns True for sources.
	* prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
	for the body.

2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
	condition, a reference to a controlling formal must be interpreted
	as having the class-wide type (or an access to such) so that the
	inherited condition can be properly applied to any overriding
	operation (see ARM12 6.6.1 (7)).

2011-09-02  Tristan Gingold  <gingold@adacore.com>

	* init.c (__gnat_is_vms_v7): Fix case and add prototype
	for LIB$GETSYI.

2011-09-02  Javier Miranda  <miranda@adacore.com>

	* exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
	initializing expression of a class-wide interface object declaration
	if its type is limited.

2011-09-02  Johannes Kanig  <kanig@adacore.com>

	* sem_util.adb (Unique_Name): To obtain a unique name for enumeration
	literals, take into account the type name; the type is *not*
	the scope for an enumeration literal.

2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Check_Overriding_Indicator): add special check
	to reject an overriding indicator on a user-defined Adjust
	subprogram for a limited controlled type.

2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Actuals): add missing call to Resolve
	for an actual that is a function call returning an unconstrained
	limited controlled type.

2011-09-02  Tristan Gingold  <gingold@adacore.com>

	* g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7

2011-09-02  Johannes Kanig  <kanig@adacore.com>

	* alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
	from "HEAP" to __HEAP Change comment that refers to that variable
	* put_alfa.adb: Change comment that refers to that variable

From-SVN: r178458
2011-09-02 11:52:36 +02:00
Arnaud Charlet
c5f5123f4a [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Extract_Renamed_Object): Renamed to
	Find_Renamed_Object. This routine has been reimplemented and now uses
	tree traversal to locate a renamed object.
	(Is_Aliased): Replace call to Extract_Renamed_Object with
	Find_Renamed_Object.

2011-09-02  Tristan Gingold  <gingold@adacore.com>

	* init.c: (__gnat_is_vms_v7): New function.

2011-09-02  Olivier Hainque  <hainque@adacore.com>

	* tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
	that have a misaligned backchain, necessarily bogus.

From-SVN: r178457
2011-09-02 11:47:42 +02:00
Hristian Kirtchev
2bfa548446 exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create TSS routine Finalize_Address when compiling in Alfa mode.
2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
	TSS routine Finalize_Address when compiling in Alfa mode.
	(Expand_Freeze_Record_Type): Do not create TSS routine
	Finalize_Address when compiling in Alfa mode.
	* exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
	call to Set_Finalize_Address in Alfa mode because Finalize_Address is
	not built.
	(Expand_N_Allocator): Do not produce a call to
	Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
	produce a call to primitive Set_Finalize_Address in Alfa mode because
	Finalize_Address is not built.
	* exp_ch7.adb (Build_Finalization_Master): Do not create
	finalization masters in Afa mode since they are not needed.
	(Build_Finalizer): Do not create scope and library-level
	finalizers in Alfa mode since they are not needed.
	* exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
	"new" and "free" when applied to controlled objects in Alfa mode since
	this is not needed.

From-SVN: r178456
2011-09-02 11:45:45 +02:00
Arnaud Charlet
7a0ddd20bc [multiple changes]
2011-09-02  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
	only library names with the syntax of Ada identifiers, to avoid errors
	when compiling the binder generated files.
	* projects.texi: Document restriction on SAL library names

2011-09-02  Thomas Quinot  <quinot@adacore.com>

	* a-chtgbo.adb: Minor comment fix.

From-SVN: r178455
2011-09-02 11:43:58 +02:00
Arnaud Charlet
439b6dfab1 [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* lib-xref.adb: Minor reformatting

2011-09-02  Vincent Celier  <celier@adacore.com>

	* bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
	gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
	--version and --help in usage.
	* switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure

From-SVN: r178454
2011-09-02 11:36:28 +02:00
Arnaud Charlet
f2404867df [multiple changes]
2011-09-02  Bob Duff  <duff@adacore.com>

	* lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
	compilers don't understand it.

2011-09-02  Gary Dismukes  <dismukes@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Pass the
	underlying subtype rather than its base type on the call to
	Build_Record_Or_Elementary_Input_Function, so that any
	constraints on a discriminated subtype will be available for
	doing the check required by AI05-0192.
	* exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
	If the prefix subtype of the 'Input attribute is a constrained
	discriminated subtype, then check each constrained discriminant value
	against the corresponding value read from the stream.

From-SVN: r178453
2011-09-02 11:32:10 +02:00
Yannick Moy
029b67bac3 usage.adb, [...]: Disable by default warnings on suspicious contracts, and enable them with -gnatwa.
2011-09-02  Yannick Moy  <moy@adacore.com>

	* usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
	warnings on suspicious contracts, and enable them with -gnatwa.

From-SVN: r178452
2011-09-02 11:29:53 +02:00
Robert Dewar
dc36a7e3bc exp_util.adb, [...]: Minor reformatting.
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
	reformatting.

From-SVN: r178450
2011-09-02 11:28:52 +02:00
Arnaud Charlet
d5aa443cb4 [multiple changes]
2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch9.adb (Install_Private_Data_Declarations): Add guards
	which ensure that restriction No_Dynamic_Attachment has not been
	violated.
	(Make_Initialize_Protection): Protected types with attach or
	interrupt handlers must not violate restriction No_Dynamic_Attachment.
	* exp_util.adb (Corresponding_Runtime_Package): Add a guard
	which ensures that restriction No_Dynamic_Attachment has not been
	violated.
	* sem_attr.adb: (Eval_Attribute): Transform
	VAX_Float_Type'First and 'Last into references to
	the temporaries which store the corresponding bounds. The
	transformation is needed since the back end cannot evaluate
	'First and 'Last on VAX.
	(Is_VAX_Float): New routine.

2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
	generic unit is not intrinsic and has an explicit convention,
	the instance inherits it.

From-SVN: r178449
2011-09-02 11:27:35 +02:00
Arnaud Charlet
67c861780f [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
	prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.

2011-09-02  Thomas Quinot  <quinot@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
	Guard against a prefix that is an N_Has_Entity but has no
	associated entity.

2011-09-02  Yannick Moy  <moy@adacore.com>

	* lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
	references.

2011-09-02  Yannick Moy  <moy@adacore.com>

	* opt.ads (Warn_On_Suspicious_Contract): New warning flag.
	* sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
	contracts.
	* sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
	procedure looking for suspicious postconditions.
	* usage.adb (Usage): New options -gnatw.t and -gnatw.T.
	* warnsw.adb (Set_Dot_Warning_Switch): Take into account new
	options -gnatw.t and -gnatw.T.

From-SVN: r178448
2011-09-02 11:22:16 +02:00
Arnaud Charlet
5415acbd64 [multiple changes]
2011-09-02  Pascal Obry  <obry@adacore.com>

	* prj-proc.adb, prj.adb, prj.ads, prj-dect.adb, prj-nmsc.adb,
	prj-conf.adb, projects.texi: Add support for aggregate library projects.

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch9.adb (Expand_N_Protected_Type_Declaration): Use
	Dynamic_Interrupt_Protection as the proper protection type when
	dynamic handler association is actually allowed.

2011-09-02  Robert Dewar  <dewar@adacore.com>

	* makeutl.ads: Minor reformatting

From-SVN: r178446
2011-09-02 11:13:01 +02:00
Pascal Obry
735ca1b90d prj.adb: Minor code refactoring.
2011-09-02  Pascal Obry  <obry@adacore.com>

	* prj.adb: Minor code refactoring. Move check for null project in
	Project_Changed.
	* projects.texi: Fix minor typos.

From-SVN: r178444
2011-09-02 11:04:38 +02:00
Arnaud Charlet
86828d402f [multiple changes]
2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): If the domain
	of iteration is an expression, its value must be captured in a
	renaming declaration, so that modification of the elements is
	propagated to the original container.

2011-09-02  Pascal Obry  <obry@adacore.com>

	* prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
	prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
	prj-tree.adb: Minor reformatting and style fixes.

From-SVN: r178443
2011-09-02 11:03:06 +02:00
Arnaud Charlet
da6feecef6 Fix typo.
From-SVN: r178442
2011-09-02 10:36:59 +02:00
Arnaud Charlet
83de674b68 [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* s-rident.ads: Add new restriction No_Implicit_Aliasing
	* sem_attr.adb: (Analyze_Access_Attribute): Deal with
	No_Implicit_Aliasing
	(Analyze_Attribute, case Address): ditto
	(Analyze_Attribute, case Unrestricted_Access): ditto
	* sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
	No_Implicit_Aliasing restriction.
	* gnat_rm.texi: Add documentation for No_Implicit_Aliasing

2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb: (Possible_Bit_Aligned_Object): If the object
	is an unchecked conversion, apply test to its expression.

2011-09-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Check_Abstract_Overriding): When
	traversing the chain of aliased subprograms avoid reporting a
	redundant error on the current entity.

2011-09-02  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi: Minor clean up.

2011-09-02  Bob Duff  <duff@adacore.com>

	* s-htable.adb (Set_If_Not_Present): Use renaming
	instead of ":=", because the type Key is limited in the generic (even
	if not in the instances).

From-SVN: r178440
2011-09-02 10:25:44 +02:00
Arnaud Charlet
2c17ca0a2f [multiple changes]
2011-09-02  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
	g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
	reformatting.

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
	inherited component with the enclosing derived type. Code reformatting.

2011-09-02  Gary Dismukes  <dismukes@adacore.com>

	* checks.adb: (Determine_Range): Add test of OK1 to prevent the early
	return done when overflow checks are enabled, since comparisons against
	Lor and Hir should not be done when OK1 is False.

2011-09-02  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
	Add new formal Master_Exp. When present, add that expression to the
	call as an extra actual.
	(Make_Build_In_Place_Call_In_Object_Declaration): Add variable
	Fmaster_Actual and in the case of a BIP call initializing a return
	object of an enclosing BIP function set it to a
	new reference to the implicit finalization master
	formal of the enclosing function. Fmaster_Actual is
	then passed to the new formal Master_Exp on the call to
	Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
	initializations of Enclosing_Func to its declaration.

2011-09-02  Thomas Quinot  <quinot@adacore.com>

	* csets.ads: Minor reformatting

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
	the full view of a private type coming from an instantiation.
	* exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
	loop to iterate over the declarations rather than use the
	First_Entity / Next_Entity scheme.

From-SVN: r178438
2011-09-02 09:42:02 +02:00
Ed Schonberg
ed32b82e77 sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding X'range (N) into X'First (N) ..
2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
	X'range (N) into X'First (N) ..  X'Last (N), do not share the
	dimension indicator N, if present. Even though it is a static
	constant, its source location may be modified when printing
	expanded code under -gnatDL, and node sharing will lead to chaos
	in Sprint on large files, by generating a sloc value that does
	not correspond to any source file.

From-SVN: r178437
2011-09-02 09:19:46 +02:00
Arnaud Charlet
f7bb41af65 [multiple changes]
2011-09-02  Bob Duff  <duff@adacore.com>

	* einfo.adb: (Has_Xref_Entry): Do not call
	Implementation_Base_Type. Lib.Xref has been
	rewritten to avoid the need for it, and it was costly.
	* s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
	functions in support of efficient xref.
	* lib-xref-alfa.adb: Misc changes related to Key component of
	type Xref_Entry.
	* lib-xref.adb: (Add_Entry,etc): Speed improvement.
	(New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
	no longer does. This is the one place where it is needed.

2011-09-02  Johannes Kanig  <kanig@adacore.com>

	* g-comlin.adb (Getopt): New optional argument Concatenate to have
	similar interface as the other Getopt function.

2011-09-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
	a call to Set_Finalize_Address if there is no allocator available.
	* exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
	a case of allocator expansion where the allocator is not expanded but
	needs a custom allocate routine. Code reformatting.
	(Is_Finalizable_Transient): Remove local variables Has_Rens and
	Ren_Obj. Code reformatting.
	(Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
	through the use of 'reference.
	* sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
	as part of build-in-place expansion. They are intentionally marked as
	coming from source, but their parents are not.

From-SVN: r178436
2011-09-02 09:14:48 +02:00
Arnaud Charlet
bd0bc43e58 [multiple changes]
2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_With_Clause): If the library unit
	is the generated subprogram declaration for a child unit body
	that acts as spec, use the original body in the with_clause,
	to prevent binding errors.

2011-09-02  Vincent Celier  <celier@adacore.com>

	* gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
	qualifier /MULTI_UNIT_INDEX=

2011-09-02  Johannes Kanig  <kanig@adacore.com>

	* g-comlin.adb (Getopt): Return when switch is dealt with automatically,
	instead of calling the callback function

From-SVN: r178435
2011-09-02 09:10:07 +02:00
Robert Dewar
9fdb5d2171 [multiple changes]
2011-09-02  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb: (Find_Sources): When the list of sources is
	explicitly declared in an extending project, do not warn if a source
	for an inherited naming exception is not found.

2011-09-02  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
	expansion is inactive.

2011-09-02  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Note_Possible_Modification): If the entity
	being modified is the renaming generated for an Ada2012 iterator
	element, the enclosing container or array is modified as well.

From-SVN: r178434
2011-09-02 09:02:25 +02:00