100896 Commits

Author SHA1 Message Date
Arnaud Charlet
ed2233dc6d par-ch9.adb, [...]: Update comments.
* par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
	sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
	par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
	sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
	sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
	sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
	par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
	sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
	sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
	errout.ads: Update comments. Minor reformatting.

From-SVN: r160979
2010-06-18 14:14:52 +02:00
Alan Modra
9628d8f667 linux64.h (SET_CMODEL): Don't expand to empty.
* config/rs6000/linux64.h (SET_CMODEL): Don't expand to empty.

From-SVN: r160978
2010-06-18 20:27:21 +09:30
Arnaud Charlet
fcfb981b1a [multiple changes]
2010-06-18  Geert Bosch  <bosch@adacore.com>

	* i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
	Darwin.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
	true for gcc.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Minor format change for N_Expression_With_Actions.
	* repinfo.adb: Minor reformatting.

2010-06-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_elim.adb (Check_Eliminated): If within a subunit, use
	Defining_Entity to obtain the name of the entity in the proper body, to
	properly handle both separate packages and subprograms.

2010-06-18  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb (Check_File): New parameter Display_Path.

From-SVN: r160976
2010-06-18 12:19:44 +02:00
Arnaud Charlet
48b351d924 [multiple changes]
2010-06-18  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb, g-socket.ads (Null_Selector): New object.

2010-06-18  Pascal Obry  <obry@adacore.com>

	* gnat_ugn.texi: Minor clarification.

2010-06-18  Emmanuel Briot  <briot@adacore.com>

	* prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
	code when using the project dir as the source dir.
	(Search_Directories): use the normalized name for the source directory,
	where symbolic names have potentially been resolved.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
	when we create N_Expression_With_Actions node.
	(Expand_Short_Circuit): Ditto.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb: Minor reformatting.

From-SVN: r160975
2010-06-18 12:07:36 +02:00
Arnaud Charlet
6a497607af [multiple changes]
2010-06-18  Thomas Quinot  <quinot@adacore.com>

	* types.ads: Clean up obsolete comments
	* tbuild.adb: Minor reformatting.
	* exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
	exp_strm.adb, aa_drive.adb: Minor reformatting.
	* sem_res.adb (Is_Predefined_Operator): An operator that is an imported
	intrinsic with an Interface_Name denotes an imported back-end builtin,
	and must be rewritten into a call, not left in the tree as an operator,
	so return False in that case.

2010-06-18  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
	
2010-06-18  Robert Dewar  <dewar@adacore.com>

	* scos.ads: Add proposed output for case expression

2010-06-18  Jose Ruiz  <ruiz@adacore.com>

	* gnat_ugn.texi: Document that, when using the RTX compiler to generate
	RTSS modules, we need to use the Microsoft linker.

From-SVN: r160974
2010-06-18 11:53:00 +02:00
Robert Dewar
19d846a008 checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case expression (cannot count on a particular branch being executed).
2010-06-18  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
	expression (cannot count on a particular branch being executed).
	* exp_ch4.adb (Expand_N_Case_Expression): New procedure.
	* exp_ch4.ads (Expand_N_Case_Expression): New procedure.
	* exp_util.adb (Insert_Actions): Deal with proper insertion of actions
	within case expression.
	* expander.adb (Expand): Add call to Expand_N_Case_Expression
	* par-ch4.adb Add calls to P_Case_Expression at appropriate points
	(P_Case_Expression): New procedure
	(P_Case_Expression_Alternative): New procedure
	* par.adb (P_Case_Expression): New procedure
	* par_sco.adb (Process_Decisions): Add dummy place holder entry for
	N_Case_Expression.
	* sem.adb (Analyze): Add call to Analyze_Case_Expression
	* sem_case.ads (Analyze_Choices): Also used for case expressions now,
	this is a documentation change only.
	* sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
	* sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
	expressions.
	* sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
	* sem_res.adb (Resolve_Case_Expression): New procedure.
	* sem_scil.adb (Find_SCIL_Node): Add processing for
	N_Case_Expression_Alternative.
	* sinfo.ads, sinfo.adb (N_Case_Expression): New node.
	(N_Case_Expression_Alternative): New node.
	* sprint.adb (Sprint_Node_Actual): Add processing for new nodes
	N_Case_Expression and N_Case_Expression_Alternative.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor reformatting.
	* gnat1drv.adb: Fix typo.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
	for -gnatg.
	* sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
	gnat style for -gnatg.
	* gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.

From-SVN: r160971
2010-06-18 11:41:49 +02:00
Arnaud Charlet
305caf424d [multiple changes]
2010-06-18  Thomas Quinot  <quinot@adacore.com>

	* sem_eval.adb (Test_In_Range): New subprogram, factoring duplicated
	code between...
	(Is_In_Range, Is_Out_Of_Range): Reimplement in terms of call to
	Test_In_Range.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Minor change in output format for expression wi actions.
	* par-ch3.adb: Minor code reorganization.  Minor reformatting.
	* sem_ch5.adb: Minor comment fix.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* debug.adb: New debug flag -gnatd.L to control
	Back_End_Handles_Limited_Types.
	* exp_ch4.adb (Expand_N_Conditional_Expression): Let back end handle
	limited case if Back_End_Handles_Limited_Types is True.
	(Expand_N_Conditional_Expression): Use N_Expression_With_Actions to
	simplify expansion if Use_Expression_With_Actions is True.
	* gnat1drv.adb (Adjust_Global_Switches): Set
	Back_End_Handles_Limited_Types.
	* opt.ads (Back_End_Handles_Limited_Types): New flag.

2010-06-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Rewrite_Operator_As_Call): Do not rewrite user-defined
	intrinsic operator if expansion is not enabled, because in an
	instantiation the original operator must be present to verify the
	legality of the operation.

From-SVN: r160969
2010-06-18 11:28:45 +02:00
Arnaud Charlet
e1be7706e0 * gnat.dg/class_wide2.adb: Remove bogus message, no longer generated.
From-SVN: r160968
2010-06-18 11:28:22 +02:00
Robert Dewar
c736294d9b exp_disp.adb, [...]: Minor reformatting
2010-06-18  Robert Dewar  <dewar@adacore.com>

	* exp_disp.adb, sem_ch12.adb: Minor reformatting

From-SVN: r160967
2010-06-18 11:09:40 +02:00
Arnaud Charlet
22cb89b5d6 [multiple changes]
2010-06-18  Ed Schonberg  <schonberg@adacore.com>

	* exp_util.adb (Make_Subtype_From_Expr): If the unconstrained type is
	the class-wide type for a private extension, and the completion is a
	subtype, set the type of the class-wide type to the base type of the
	full view.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* g-socket.ads, sem_aggr.adb, einfo.ads, sem_elim.adb,
	sem_intr.adb, sem_eval.adb: Minor reformatting

2010-06-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Is_Ancestor): If either type is private, examine full
	view.

From-SVN: r160966
2010-06-18 11:05:37 +02:00
Thomas Quinot
e9672ebe5d g-socket.adb, [...] (Check_Selector): Make Selector an IN parameter rather than IN OUT.
2010-06-18  Thomas Quinot  <quinot@adacore.com>

	* g-socket.adb, g-socket.ads (Check_Selector): Make Selector an IN
	parameter rather than IN OUT.

From-SVN: r160965
2010-06-18 10:59:39 +02:00
Arnaud Charlet
9f5b6c7f1e [multiple changes]
2010-06-18  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb: Add extra guard.

2010-06-18  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.adb (Object_Access_Level): For Ada 2005, determine the
	accessibility level of a function call from the level of the innermost
	enclosing dynamic scope.
	(Innermost_Master_Scope_Depth): New function to find the depth of the
	nearest dynamic scope enclosing a node.

2010-06-18  Tristan Gingold  <gingold@adacore.com>

	* adaint.c: Make ATTR_UNSET static as it is not used outside this file.

2010-06-18  Thomas Quinot  <quinot@adacore.com>

	* g-socket.ads: Minor reformatting.

From-SVN: r160964
2010-06-18 10:49:38 +02:00
Arnaud Charlet
3e2399bafc [multiple changes]
2010-06-18  Vincent Celier  <celier@adacore.com>

	* make.adb (Must_Compile): New Boolean global variable
	(Main_On_Command_Line): New Boolean global variable
	(Collect_Arguments_And_Compile): Do compile if Must_Compile is True,
	even when the project is externally built.
	(Start_Compile_If_Possible): Compile in -aL directories if
	Check_Readonly_Files is True. Do compile if Must_Compile is True, even
	when the project is externally built.
	(Gnatmake): Set Must_Compile and Check_Readonly_Files to True when
	invoked with -f -u and one or several mains on the command line.
	(Scan_Make_Arg): Set Main_On_Command_Line to True when at least one main
	is specified on the command line.

2010-06-18  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Build_Body_For_Inline): Handle extended_return_statements
	* exp_ch6.adb (Expand_Inlined_Call): when possible, inline a body
	containing extented_return statements.
	* exp_util.adb (Make_CW_Equivalent_Type): If the root type is already
	constrained, do not build subtype declaration.

From-SVN: r160962
2010-06-18 10:25:27 +02:00
Robert Dewar
c28408b784 sem_res.adb (Analyze_Indexed_Component, [...]): Warn on assigning to packed atomic component.
2010-06-18  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Analyze_Indexed_Component, Analyze_Selected_Component):
	Warn on assigning to packed atomic component.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* sem_util.ads: Minor reformatting
	* einfo.ads, einfo.adb: Minor doc clarification (scope of decls in
	Expression_With_Actions).
	* snames.ads-tmpl: Minor comment fix

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Diagnose_Multiple_Pragmas): New procedure
	(Set_Imported): Use Import_Interface_Present to control message output
	* sinfo.ads, sinfo.adb (Import_Interface_Present): New flag
	* gnat_rm.texi: Document that we can have pragma Import and pragma
	Interface for the same subprogram.

2010-06-18  Robert Dewar  <dewar@adacore.com>

	* lib-xref.adb (Generate_Reference): Fix bad reference to
	Has_Pragma_Unreferenced (clients should always use Has_Unreferenced).

From-SVN: r160961
2010-06-18 10:17:48 +02:00
John David Anglin
8ccfe1ab79 re PR target/43740 (FAIL: gcc.dg/tree-ssa/20031015-1.c (internal compiler error))
PR target/43740
	config/pa/pa.c (emit_move_sequence): Don't infer REG_POINTER flag for
	SET source operand from SET destination operand.

From-SVN: r160955
2010-06-18 00:23:51 +00:00
GCC Administrator
4963284e80 Daily bump.
From-SVN: r160954
2010-06-18 00:17:39 +00:00
Eric Botcazou
17c168fe7f trans.c (set_gnu_expr_location_from_node): New static function.
* gcc-interface/trans.c (set_gnu_expr_location_from_node): New static
	function.
	(gnat_to_gnu) <N_Expression_With_Actions>: New case.
	Use set_gnu_expr_location_from_node to set location information on the
	result.

From-SVN: r160949
2010-06-17 22:22:51 +00:00
Janus Weil
8399a0cc2d re PR fortran/44558 ([OOP] ICE on invalid code: called TBP subroutine as TBP function)
2010-06-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44558
	* resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
	Return directly in case of an error.


2010-06-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44558
	* gfortran.dg/typebound_call_15.f03: New.

From-SVN: r160948
2010-06-18 00:15:30 +02:00
Bernd Schmidt
60de8907d1 re PR rtl-optimization/39871 (Code size increase on ARM due to poor register allocation)
PR rtl-optimization/39871
	* reload1.c (init_eliminable_invariants): For flag_pic, disable
	equivalences only for constants that aren't LEGITIMATE_PIC_OPERAND_P.
	(function_invariant_p): Rule out a plus of frame or arg pointer with
	a SYMBOL_REF.
	* ira.c (find_reg_equiv_invariant_const): Likewise.

From-SVN: r160947
2010-06-17 21:51:55 +00:00
Gunther Nikl
d398d9033a rs6000.c (print_operand): Also use print_operand_address and puts to output the operand for CONST.
* config/rs6000/rs6000.c (print_operand) <'K'>: Also use
	print_operand_address and puts to output the operand for CONST.

From-SVN: r160945
2010-06-17 19:54:16 +00:00
Jakub Jelinek
654bbfea48 re PR debug/44572 (dwarf2out.c:22403:1: error: (near initialization for 'dwarf2_debug)
PR debug/44572
	* dwarf2out.c (dwarf2out_debug_hooks): Add entry for begin_epilogue
	hook.

From-SVN: r160944
2010-06-17 21:15:51 +02:00
Nathan Froyd
11d259f009 v850-protos.h (print_operand): Delete.
* v850-protos.h (print_operand): Delete.
	(print_operand_address): Delete.
	* v850.h (PRINT_OPERAND): Delete.
	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
	(PRINT_OPERAND_ADDRESS): Delete.
	* v850.c (print_operand_address): Rename to...
	(v850_print_operand_address): ...this.  Make static. Call
	v850_print_operand.
	(print_operand): Rename to...
	(v850_print_operand): ...this.  Make static.  Call
	v850_print_operand_address.
	(v850_print_operand_punct_valid_p): New function.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

From-SVN: r160943
2010-06-17 18:18:41 +00:00
Nathan Froyd
9e94b957db sh-protos.h (print_operand): Delete.
* config/sh/sh-protos.h (print_operand): Delete.
	(print_operand_address): Delete.
	* config/sh/sh.h (PRINT_OPERAND): Delete.
	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
	(PRINT_OPERAND_ADDRESS): Delete.
	* config/sh/sh.c (sh_print_operand_address): Make static.
	(sh_print_operand): Make static.  Call sh_print_operand_address
	and sh_print_operand.
	(sh_print_operand_punct_valid_p): New function.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

From-SVN: r160942
2010-06-17 18:16:31 +00:00
Nathan Froyd
349f851e4c mcore-protos.h (mcore_print_operand): Delete.
* config/mcore/mcore-protos.h (mcore_print_operand): Delete.
	(mcore_print_operand_address): Delete.
	* config/mcore/mcore.h (PRINT_OPERAND): Delete.
	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
	(PRINT_OPERAND_ADDRESS): Delete.
	* config/mcore/mcore.c (mcore_print_operand_address): Make static.
	(mcore_print_operand): Make static.
	(mcore_print_operand_punct_valid_p): New function.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define
	(TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

From-SVN: r160941
2010-06-17 18:15:39 +00:00
Nathan Froyd
efe554e48b m68hc11-protos.h (print_operand): Delete.
* config/m68hc11/m68hc11-protos.h (print_operand): Delete.
	(print_operand_address): Delete.
	* config/m68hc11/m68hc11.h (PRINT_OPERAND): Delete.
	(PRINT_OPERAND_ADDRESS): Delete.
	* config/m68hc11/m68hc11.c (m68hc11_print_operand_address): Make
	static.
	(m68hc11_print_operand): Make static.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.

From-SVN: r160940
2010-06-17 18:14:45 +00:00
Nathan Froyd
c73035c798 m32r-protos.h (m32r_print_operand): Delete.
* config/m32r/m32r-protos.h (m32r_print_operand): Delete.
	(m32r_print_operand_address): Delete.
	* config/m32r/m32r.h (m32r_punct_chars): Delete.
	(PRINT_OPERAND): Delete.
	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
	(PRINT_OPERAND_ADDRESS): Delete.
	* config/m32r/m32r.c (m32r_punct_chars): Make static.
	(m32r_print_operand_address): Make static.
	(m32r_print_operand): Make static.
	(m32r_print_operand_punct_valid_p): New function.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
	(TARGET_PRINT_OPERAND_ADDRESS): Define.

From-SVN: r160939
2010-06-17 18:13:51 +00:00
Nathan Froyd
bf7c1408ff iq2000-protos.h (print_operand): Delete.
* config/iq2000/iq2000-protos.h (print_operand): Delete.
	(print_operand_address): Delete.
	* config/iq2000/iq2000.h (PRINT_OPERAND): Delete.
	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
	(PRINT_OPERAND_ADDRESS): Delete.
	(iq2000_print_operand_punct): Delete.
	* config/iq2000/iq2000.c (iq2000_print_operand_punct): Make static.
	(iq2000_print_operand_address): Make static.
	(iq2000_print_operand): Make static.
	(iq2000_print_operand_punct_valid_p): New function.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
	(TARGET_PRINT_OPERAND_ADDRESS): Define.

From-SVN: r160938
2010-06-17 18:13:03 +00:00
Nathan Froyd
0fb30cb73d frv-protos.h (frv_print_operand): Delete.
* config/frv/frv-protos.h (frv_print_operand): Delete.
	(frv_print_operand_address): Delete.
	* config/frv/frv.h (PRINT_OPERAND): Delete.
	(PRINT_OPERAND_PUNCT_VALID_P): Delete.
	(PRINT_OPERAND_ADDRESS): Delete.
	* config/frv/frv.c (frv_print_operand_address): Make static.
	(frv_print_operand): Make static.
	(frv_print_operand_punct_valid_p): New function.
	(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS):
	(TARGET_PRINT_OPERAND_ADDRESS): Define.

From-SVN: r160937
2010-06-17 18:11:45 +00:00
Nathan Froyd
bfdb7b700a tree.h (vec_member): Declare.
gcc/
	* tree.h (vec_member): Declare.
	* tree.c (vec_member): Define.

gcc/cp/
	* name-lookup.c (struct arg_lookup): Convert namespaces and
	classes fields to VEC.
	(arg_assoc_namespace): Adjust for new type of namespaces.
	(arg_assoc_class): Adjust for new type of classes.
	(lookup_arg_dependent): Use make_tree_vector and
	release_tree_vector.
	* typeck2.c (build_x_arrow): Use vec_member.

From-SVN: r160936
2010-06-17 17:26:28 +00:00
Richard Guenther
3a6206615e tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
2010-06-17  Richard Guenther  <rguenther@suse.de>

	* tree-flow-inline.h (array_ref_contains_indirect_ref): Remove.
	* tree-flow.h (array_ref_contains_indirect_ref): Likewise.

From-SVN: r160933
2010-06-17 16:14:41 +00:00
Arnaud Charlet
b56a5e1fa3 Update dependencies.
From-SVN: r160932
2010-06-17 18:11:21 +02:00
Arnaud Charlet
9cbfc26913 [multiple changes]
2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Atomic_Object): Predicate does not apply to
	subprograms.

2010-06-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
	style check messages.
	* sem_res.adb (Resolve_Call): Don't call
	Check_For_Eliminated_Subprogram if we are analyzing within a spec
	expression.

2010-06-17  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Add documentation for debug flags .X and .Y
	* exp_ch4.adb (Expand_Short_Circuit_Operator): Use
	Use_Expression_With_Actions.
	* gnat1drv.adb (Adjust_Global_Switches): Set
	Use_Expression_With_Actions.
	* opt.ads (Use_Expression_With_Actions): New switch.

From-SVN: r160931
2010-06-17 18:04:52 +02:00
Robert Dewar
9225298073 exp_intr.adb: Minor code reorganization (use UI_Max)
2010-06-17  Robert Dewar  <dewar@adacore.com>

	* exp_intr.adb: Minor code reorganization (use UI_Max)
	* sem_intr.adb: use underlying type to check legality.
	* einfo.adb (Known_Static_Esize): False for generic types
	(Known_Static_RM_Size): False for generic types
	* einfo.ads (Known_Static_Esize): False for generic types
	(Known_Static_RM_Size): False for generic types

From-SVN: r160930
2010-06-17 17:58:10 +02:00
Arnaud Charlet
955871d37f [multiple changes]
2010-06-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.ads: Minor code reorganization (specs in alpha order).

2010-06-17  Robert Dewar  <dewar@adacore.com>

	* debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
	node when expanding short circuit form with actions present for right
	opnd.
	* exp_ch4.adb: Minor reformatting
	(Expand_Short_Circuit_Operator): Use new Expression_With_Actions node if
	right opeand has actions present, and debug flag -gnatd.X is set.
	* exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
	node.
	* nlists.adb (Prepend_List): New procedure
	(Prepend_List_To): New procedure
	* nlists.ads (Prepend_List): New procedure
	(Prepend_List_To): New procedure
	* sem.adb: Add processing for Expression_With_Actions
	* sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
	* sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
	* sem_res.adb: Add processing for Expression_With_Actions.
	* sem_scil.adb: Add processing for Expression_With_Actions
	* sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
	* sprint.ads, sprint.adb: Add processing for Expression_With_Actions

2010-06-17  Doug Rupp  <rupp@adacore.com>

	* sem_intr.adb (Check_Intrinsic_Operator): Check that the types
	involved both have underlying integer types.
	* exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
	to an intrinsic operator when the operand types or sizes are not
	identical.
	* s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
	64/32 Address/Integer works.

From-SVN: r160929
2010-06-17 17:50:40 +02:00
Arnaud Charlet
b53c1b9ce2 [multiple changes]
2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
	that it marks a unit as needed by a spec only if the corresponding
	instantiation appears in that spec (and not in the corresponding body).
	* sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
	in the pragma Eliminate has been parsed as a child unit, but the
	current compilation unit is in fact the parent in which the subunit is
	embedded.

2010-06-17  Vincent Celier  <celier@adacore.com>

	* gnat_rm.texi: Fix typo

From-SVN: r160928
2010-06-17 17:41:23 +02:00
Arnaud Charlet
7a78fa979e [multiple changes]
2010-06-17  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb: Minor reformatting

2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
	instance, the clause now denotes the instance body. Traverse the
	corresponding spec because there may be no other dependence that will
	force the traversal of its own context.

From-SVN: r160925
2010-06-17 17:35:09 +02:00
Arnaud Charlet
305379908d [multiple changes]
2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
	Install_Limited_Context_Clauses, to determine whether a limited_with in
	some parent of the current unit designates some other parent, in which
	case the limited_with clause must not be installed.
	(In_Context): Refine test.

2010-06-17  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.adb (Collect_Primitive_Operations): In the of an untagged
	type with a dispatching equality operator that is overridden (for a
	tagged full type), don't include the overridden equality in the list of
	primitives. The overridden equality is detected by testing for an
	Aliased field that references the overriding equality.

2010-06-17  Robert Dewar  <dewar@adacore.com>

	* freeze.adb: Minor reformatting.

From-SVN: r160924
2010-06-17 17:29:21 +02:00
Arnaud Charlet
4519314ce8 2010-06-17 Joel Brobecker <brobecker@adacore.com brobecker>
* gnat_ugn.texi: Add a section introducing gdbserver.

2010-06-17  Thomas Quinot  <quinot@adacore.com>

	* sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
	reformatting.

2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
	constrained discriminated parent that is a private type.
	(Analyze_Record_Aggregate): when collecting inherited discriminants,
	handle properly an ancestor type that is a constrained private type.

2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Enclosing_Subprogram): If the called subprogram is
	protected, use the protected_subprogram_body only if the original
	subprogram has not been eliminated.

2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Expression): The designated type of an
	access_to_suprogram type can only be frozen if all types in its profile
	are fully defined.

From-SVN: r160923
2010-06-17 17:23:55 +02:00
Joern Rennecke
b49cf425fe re PR bootstrap/44512 (--enable-build-with-cxx bootstrap fails in revision 160669)
PR bootstrap/44512
        * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
        for C++ standard compliance.

From-SVN: r160922
2010-06-17 16:20:20 +01:00
Arnaud Charlet
2383acbd9e [multiple changes]
2010-06-17  Robert Dewar  <dewar@adacore.com>

	* par.adb: Minor comment fix
	* sem_aggr.adb, sem_ch3.adb: Minor reformatting

2010-06-17  Doug Rupp  <rupp@adacore.com>

	* s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
	change Address to Short_Address in functions where both must be the
	same size for intrinsics to work.

2010-06-17  Thomas Quinot  <quinot@adacore.com>

	* sem_ch4.adb (Analyze_Selected_Component): A selected component may
	not denote a (private) component of a protected object.

2010-06-17  Bob Duff  <duff@adacore.com>

	* par-labl.adb (Try_Loop): Test whether the label and the goto are in
	the same list.

2010-06-17  Joel Brobecker  <brobecker@adacore.com brobecker>

	* gnat_ugn.texi: Update the documentation about GDB re: exception
	catchpoints.

From-SVN: r160919
2010-06-17 16:26:42 +02:00
Arnaud Charlet
2f20343325 * gnatvsn.ads: Bump to 4.6 version.
From-SVN: r160916
2010-06-17 15:37:49 +02:00
Arnaud Charlet
b0b7b57de8 [multiple changes]
2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
	designated type of the generated pointer is the type of the original
	expression, not that of the function call itself, because the return
	type may be an untagged  derived type and the function may be an
	inherited operation.

2010-06-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor reformatting

From-SVN: r160915
2010-06-17 15:35:24 +02:00
Arnaud Charlet
f104fca1e5 [multiple changes]
2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
	N_Component_Association nodes, to indicate that a component association
	of an extension aggregate denotes the value of a discriminant of an
	ancestor type that has been constrained by the derivation.
	* sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
	double expansion of the aggregate appearing in a context that delays
	expansion, to prevent double insertion of discriminant values when the
	aggregate is reanalyzed.

2010-06-17  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
	Allocator as the Related_Node of Return_Obj_Access in call to
	Make_Temporary below as this would create a sort of infinite
	"recursion".

From-SVN: r160914
2010-06-17 15:29:28 +02:00
Arnaud Charlet
b07607395a [multiple changes]
2010-06-17  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Update gnatcheck doc.

2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
	incomplete view of the type that is not tagged, and the full type is a
	tagged extension, create class_wide type now, and warn that the
	incomplete view should be tagged as well.

From-SVN: r160913
2010-06-17 15:23:55 +02:00
Arnaud Charlet
aa9ea6a1ac [multiple changes]
2010-06-17  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
	Update the last line of the usage, indicating what commands do not
	accept project file switches.
	* vms_conv.adb: Do not issue usage line for GNAT SYNC
	* vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
	GNAT ELIM.
	* gnat_ugn.texi: Document the relaxed rules for library directories in
	externally built library projects.

2010-06-17  Doug Rupp  <rupp@adacore.com>

	* s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
	where possible.
	* s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
	* gcc-interface/Makefile.in: Update VMS target pairs.

2010-06-17  Vasiliy Fofanov  <fofanov@adacore.com>

	* adaint.c: Reorganized in order to avoid use of GetProcessId to stay
	compatible with Windows NT 4.0 which doesn't provide this function.

2010-06-17  Vincent Celier  <celier@adacore.com>

	* ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
	different timestamps but the checksum is the same, issue a short
	message saying so.

2010-06-17  Arnaud Charlet  <charlet@adacore.com>

	* s-interr.adb (Finalize): If the Abort_Task signal is set to system,
	it means that we cannot reset interrupt handlers since this would
	require potentially sending the abort signal to the Server_Task.

From-SVN: r160911
2010-06-17 15:14:44 +02:00
Richard Guenther
498c378f90 tree-inline.c (declare_return_variable): Remove bogus code.
2010-06-17  Richard Guenther  <rguenther@suse.de>

	* tree-inline.c (declare_return_variable): Remove bogus code.

From-SVN: r160910
2010-06-17 13:10:45 +00:00
Arnaud Charlet
c77599d5f6 [multiple changes]
2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb: expand NOT for VMS types.
	* sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.

2010-06-17  Sergey Rybin  <rybin@adacore.com>

	* vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
	* gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
	option.

From-SVN: r160908
2010-06-17 15:03:27 +02:00
Arnaud Charlet
6f76a2575b [multiple changes]
2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Call): Do not expand a call to an internal
	protected operation if the subprogram has been eliminated.

2010-06-17  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Library_Attributes): Allow the different
	directories associated with a library to be any directory when the
	library project is externally built.

2010-06-17  Vincent Celier  <celier@adacore.com>

	* make.adb (Check): If switch -m is used, deallocate the memory that
	may be allocated when computing the checksum.

From-SVN: r160907
2010-06-17 15:00:26 +02:00
Arnaud Charlet
cfab0c49a4 [multiple changes]
2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>

	* g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
	(C_Sendmsg): Likewise.

2010-06-17  Thomas Quinot  <quinot@adacore.com>

	* sem_res.adb: Update comments.

2010-06-17  Vincent Celier  <celier@adacore.com>

	* back_end.adb (Scan_Compiler_Arguments): Process last argument.

From-SVN: r160906
2010-06-17 14:52:58 +02:00
Arnaud Charlet
b29def532d [multiple changes]
2010-06-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
	* layout.adb, freeze.adb: Use Make_Temporary.

2010-06-17  Jerome Lambourg  <lambourg@adacore.com>

	* exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
	.NET/JVM normally as this is now perfectly supported by the backend.

2010-06-17  Pascal Obry  <obry@adacore.com>

	* gnat_rm.texi: Fix minor typo, remove duplicate blank lines.

2010-06-17  Vincent Celier  <celier@adacore.com>

	* make.adb (Collect_Arguments_And_Compile): Create include path file
	only when -x is specified.
	(Gnatmake): Ditto
	* opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
	False.
	* prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
	Objects_Path, defaulted to True. Only create include path file if
	Include_Path is True, only create objects path file if Objects_Path is
	True.
	* prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
	Objects_Path, defaulted to True.
	* switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
	when -x is used.

2010-06-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
	determine whether it has the controlling type, when the formal is an
	access parameter.

2010-06-17  Eric Botcazou  <ebotcazou@adacore.com>

	* s-crtl.ads (ssize_t): New type.
	(read): Fix signature.
	(write): Likewise.
	* g-socthi.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
	'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
	(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
	(C_Sendmsg): Likewise.
	* g-socthi.adb (Syscall_Recvmsg): Likewise.
	(Syscall_Sendmsg): Likewise.
	(C_Recvmsg): Likewise.
	(C_Sendmsg): Likewise.
	* g-socthi-mingw.ads: Add 'with System.CRTL' clause.  Remove ssize_t
	and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
	(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
	(C_Sendmsg): Likewise.
	* g-socthi-mingw.adb (C_Recvmsg): Likewise.
	(C_Sendmsg): Likewise.
	* g-socthi-vms.ads: Add 'with System.CRTL' clause.  Remove ssize_t and
	'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
	(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
	(C_Sendmsg): Likewise.
	* g-socthi-vms.adb (C_Recvmsg): Likewise.
	(C_Sendmsg): Likewise.
	* g-socthi-vxworks.ads Add 'with System.CRTL' clause.  Remove ssize_t
	and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
	(C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
	(C_Sendmsg): Likewise.
	* g-socthi-vxworks.adb (C_Recvmsg): Likewise.
	(C_Sendmsg): Likewise.
	* g-sercom-linux.adb (Read): Use correct types to call 'read'.
	(Write): Likewise to call 'write'.
	* s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
	(Write): Use correct type to call System.CRTL.write.
	* s-tasdeb.adb (Write): Likewise.

2010-06-17  Vincent Celier  <celier@adacore.com>

	* prj-proc.adb (Copy_Package_Declarations): Change argument name
	Naming_Restricted to Restricted. If Restricted is True, do not copy the
	value of attribute Linker_Options.

From-SVN: r160905
2010-06-17 14:26:10 +02:00