Commit Graph

125968 Commits

Author SHA1 Message Date
Arnaud Charlet b9ec846384 [multiple changes]
2013-10-15  Tristan Gingold  <gingold@adacore.com>

	* adaint.c (__gnat_get_executable_load_address): Remove AIX
	specific code.

2013-10-15  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Aggr_Size_OK): Refine criteria to better handle
	large static aggregates with static record components, to avoid
	generating a large number of asignments.  Conversely, improve
	handling of aggregates initialized by a single association,
	which are most efficiently implemented with a loop.

2013-10-15  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Input_Item): Emit an
	error when the input item comes from the related package.

2013-10-15  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch11.adb (Expand_Exception_Handlers): Restrict previous
	change.

From-SVN: r203593
2013-10-15 12:28:02 +02:00
Richard Biener 24f161fdda tree-loop-distribution.c (build_empty_rdg): Inline into single user.
2013-10-15  Richard Biener  <rguenther@suse.de>

	* tree-loop-distribution.c (build_empty_rdg): Inline into
	single user.
	(rdg_flag_vertex): Inline into single user.
	(rdg_flag_vertex_and_dependent): Likewise.
	(build_rdg_partition_for_vertex): Remove processed bitmap.
	(rdg_build_partitions): Simplify.

From-SVN: r203592
2013-10-15 10:21:32 +00:00
Richard Biener 5de989edfb tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure forwarding through conversions and copies to avoid performing...
2013-10-15  Richard Biener  <rguenther@suse.de>

	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
	Restructure forwarding through conversions and copies to
	avoid performing copy-propagation the wrong way.  Adjust
	recursion invocations.
	(forward_propagate_addr_expr): Add argument stating if we
	are recursing from a single-use.
	(ssa_forward_propagate_and_combine): Adjust.

From-SVN: r203591
2013-10-15 10:20:58 +00:00
Kyrylo Tkachov 7457605705 openmp-define-3.c: Move effective target check after other directives.
[gcc/testsuite/]
2013-10-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* c-c++-common/cpp/openmp-define-3.c: Move effective target check
	after other directives.

From-SVN: r203588
2013-10-15 08:32:17 +00:00
Tobias Burnus a728953555 Add missing file from previous commit r203586:
2013-10-15  Tobias Burnus  <burnus@net-b.de>
        PR fortran/58652
        * gfortran.dg/unlimited_polymorphic_11.f90: New.

From-SVN: r203587
2013-10-15 08:20:01 +02:00
Tobias Burnus 910ddd1808 re PR fortran/58652 (ICE with move_alloc and unlimited polymorphic)
2013-10-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * trans-intrinsic.c (conv_intrinsic_move_alloc): Fix handling
        of CLASS(*) variables.

2013-10-15  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * gfortran.dg/unlimited_polymorphic_11.f90: New.

From-SVN: r203586
2013-10-15 08:14:35 +02:00
GCC Administrator 961402d398 Daily bump.
From-SVN: r203582
2013-10-15 00:16:51 +00:00
Chris Manghane b93e0cfdd1 runtime: Don't clobber saved context when catching signal.
* go-gcc.cc (Gcc_backend::address_expression): New function.

From-SVN: r203579
2013-10-14 22:52:55 +00:00
Ian Lance Taylor be66a22638 Update Go testsuite to a copy of the Go 1.1.2 testsuite.
* go.test/go-test.exp (go-find-packages): New proc.
	(go-gc-tests): Skip stress and safe tests.  Skip *.dir
	subdirectories.  Do simple +build line matching.  Handle run with
	arguments.  Handle errorcheckdir and rundircmpout.  Use packages
	for rundir.  Remove special handling for bug191 and dwarf.

From-SVN: r203578
2013-10-14 21:24:30 +00:00
Ian Lance Taylor 8088e1beb2 runtime: Don't clobber saved context when catching signal.
From-SVN: r203577
2013-10-14 21:02:52 +00:00
Tobias Burnus f637ebc1e8 re PR fortran/58658 ([OOP] Pointer assignment to allocatable unlimited polymorphic accepted)
2013-10-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58658
        * expr.c (gfc_check_vardef_context): Fix pointer diagnostic
        for CLASS(*).

2013-10-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58658
        * gfortran.dg/unlimited_polymorphic_10.f90: New.

From-SVN: r203572
2013-10-14 19:26:17 +02:00
David Malcolm 47e0da377e Introduce gcc::dump_manager class
gcc/
	* dumpfile.h (gcc::dump_manager): New class, to hold state
	relating to dumpfile management.
	(get_dump_file_name): Remove in favor of method of dump_manager.
	(dump_initialized_p): Likewise.
	(dump_start): Likewise.
	(dump_finish): Likewise.
	(dump_switch_p): Likewise.
	(dump_register): Likewise.
	(get_dump_file_info): Likewise.
	* context.c (gcc::context::context): Construct the dump_manager
	instance.
	* context.h (gcc::context::get_dumps): New.
	(gcc::context::m_dumps): New.
	* coverage.c (coverage_init): Port to dump_manager API.
	* dumpfile.c (extra_dump_files): Convert to field of
	gcc::dump_manager.
	(extra_dump_files_in_use): Likewise.
	(extra_dump_files_alloced): Likewise.
	(gcc::dump_manager::dump_manager): New.
	(dump_register): Convert to...
	(gcc::dump_manager::dump_register): ...method, replacing
	function-static next_dump with m_next_dump field.
	(get_dump_file_info): Convert to...
	(gcc::dump_manager::get_dump_file_info): ...method.
	(get_dump_file_name): Convert to...
	(gcc::dump_manager::get_dump_file_name): ...method.
	(dump_start): Convert to...
	(gcc::dump_manager::dump_start): ...method.
	(dump_finish): Convert to...
	(gcc::dump_manager::dump_finish): ...method.
	(dump_begin): Replace body with...
	(gcc::dump_manager::dump_begin): ...new method.
	(dump_phase_enabled_p): Convert to...
	(gcc::dump_manager::dump_phase_enabled_p): ...method.
	(dump_phase_enabled_p): Convert to...
	(gcc::dump_manager::dump_phase_enabled_p): ...method.
	(dump_initialized_p):  Convert to...
	(gcc::dump_manager::dump_initialized_p): ...method.
	(dump_flag_name): Replace body with...
	(gcc::dump_manager::dump_flag_name): ...new method.
	(dump_enable_all): Convert to...
	(gcc::dump_manager::dump_enable_all): ...new method.
	(opt_info_enable_passes): Convert to...
	(gcc::dump_manager::opt_info_enable_passes): ...new method.
	(dump_switch_p_1): Convert to...
	(gcc::dump_manager::dump_switch_p_1): ...new method.
	(dump_switch_p):  Convert to...
	(gcc::dump_manager::dump_switch_p): ...new method.
	(opt_info_switch_p): Port to dump_manager API.
	(enable_rtl_dump_file): Likewise.
	* opts-global.c (handle_common_deferred_options): Port to new
	dump_manager API.
	* passes.c (pass_manager::finish_optimization_passes): Likewise.
	(pass_manager::register_one_dump_file): Likewise.
	(pass_manager::register_pass): Likewise.
	(pass_init_dump_file): Likewise.
	(pass_fini_dump_file): Likewise.
	* statistics.c (statistics_early_init): Likewise.

gcc/java/

	* lang.c (java_handle_option): Update for introduction of
	gcc::dump_manager.

From-SVN: r203569
2013-10-14 16:15:38 +00:00
Arnaud Charlet 811189d91a Complete previous change.
From-SVN: r203567
2013-10-14 16:38:00 +02:00
Richard Biener 1394237ec9 lto.c (gimple_canonical_types): Move out-of GC space.
2013-10-14  Richard Biener  <rguenther@suse.de>

	lto/
	* lto.c (gimple_canonical_types): Move out-of GC space.
	(canonical_type_hash_cache): Make a pointer-map.
	(num_canonical_type_hash_entries, num_canonical_type_hash_queries):
	New counters.
	(iterative_hash_canonical_type): Adjust.
	(read_cgraph_and_symbols): Likewise.
	(print_lto_report_1): Likewise.

From-SVN: r203566
2013-10-14 14:32:24 +00:00
Tristan Gingold 23e0b03aa6 trans.c: Synchronize declarations of other/all others between gigi and the runtime.
* gcc-interface/trans.c: Synchronize declarations of other/all others
	between gigi and the runtime.

From-SVN: r203565
2013-10-14 16:24:44 +02:00
Tristan Gingold 9f2a75d355 gigi.h (standard_datatypes): Add ADT_set_exception_parameter_decl
2013-10-14  Tristan Gingold  <gingold@adacore.com>
                                        
	* gcc-interface/gigi.h (standard_datatypes): Add
	ADT_set_exception_parameter_decl 
	(set_exception_parameter_decl): New macro.
	* gcc-interface/trans.c (gigi): Initialize set_exception_parameter_decl.
	(Exception_Handler_to_gnu_zcx): Initialize the choice parameter.

From-SVN: r203561
2013-10-14 16:02:14 +02:00
Arnaud Charlet 161c5cc509 [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Find_Stream_Subprogram): Optimize
	Storage_Array stream handling.
	(Find_Stream_Subprogram): Optimize Stream_Element_Array stream handling
	* rtsfind.ads: Add entry for Stream_Element_Array Add
	entries for RE_Storage_Array subprograms Add entries for
	RE_Stream_Element_Array subprograms
	* s-ststop.ads, s-ststop.adb: Add processing for System.Storage_Array.
	Add processing for Ada.Stream_Element_Array.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* a-except-2005.ads, a-except-2005.adb:
	(Get_Exception_Machine_Occurrence): New function.
	* raise-gcc.c (__gnat_unwind_exception_size): New constant.

From-SVN: r203560
2013-10-14 15:53:02 +02:00
Robert Dewar 2590ef129b sem_res.adb: Minor fix to error message text.
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb: Minor fix to error message text.
	* errout.ads, erroutc.ads: Minor reformatting.
	* s-ststop.ads, s-stratt.ads: Clean up documentation of block IO
	mode for streams.
	* s-stratt-xdr.adb: Minor comment update.

From-SVN: r203559
2013-10-14 15:51:45 +02:00
Arnaud Charlet 43dbd3e338 [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* sem_aux.adb, sem_aux.ads, sem_prag.adb: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Actuals): Add error message for a
	subprogram with an in-out parameter when used in a predicate,
	to clarify subsequent error at the point of call.

From-SVN: r203558
2013-10-14 15:50:16 +02:00
Hristian Kirtchev 4248145849 sem_prag.adb (Is_Matching_Input): Consume a matching null input.
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Is_Matching_Input): Consume a matching null input.

From-SVN: r203557
2013-10-14 15:49:15 +02:00
Arnaud Charlet d12b19faee [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Record): Don't give warning about packed
	and foreign convention.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_aux.adb, sem_aux.ads (Package_Specification): New function, to
	replace the less efficient idiom Specification.
	(Unit_Declaration_Node (Pack_Id)), which handles library units and
	child units.
	* sem_ch3.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_ch6.adb,
	exp_disp.adb, sem_cat.adb, exp_dist.adb: Use Package_Specification.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_Update_Attribute): Update the call to
	Process_Range_Update.
	(Process_Range_Update): Add new formal parameter Typ and associated
	comment on usage. Add local constant Index_Typ. Add a type conversion
	as part of the indexed component to ensure that the loop variable
	corresponds to the index type.

From-SVN: r203556
2013-10-14 15:47:38 +02:00
Arnaud Charlet 515490e000 [multiple changes]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr-gcc.adb: Adjust comment.
	(Others_Value, All_Others_Value,
	Unhandled_Others_Value): Declare as Character to slightly reduce
	memory footprint.

2013-10-14  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Size_Known): Size is not known for packed record
	with aliased components

From-SVN: r203555
2013-10-14 15:43:51 +02:00
Robert Dewar 808876a99a sem_ch3.adb: Minor fix to error message.
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor fix to error message.
	* a-exexpr-gcc.adb, sem_util.adb, sem_case.adb, exp_ch11.adb: Minor
	reformatting.

From-SVN: r203554
2013-10-14 15:42:26 +02:00
Arnaud Charlet 63bb426804 [multiple changes]
2013-10-14  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch11.adb: Fix typo.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

	* exp_util.ads: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Build_Derived_Record_Type): Reject full views
	with no explicit discriminant constraints, when the parents of
	the partial view and the full view are constrained subtypes with
	different constraints.

2013-10-14  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Array_Type): New procedure, abstracts out
	this code from Freeze.
	(Freeze_Array_Type): Detect pragma Pack overriding foreign convention
	(Freeze_Record_Type): Ditto.

From-SVN: r203553
2013-10-14 15:40:56 +02:00
Arnaud Charlet e74d643a35 [multiple changes]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Dependency_Clause): Add new local variable
	Non_Null_Output_Seen.  Update the call to Analyze_Input_Output.
	(Analyze_Input_Item): Streamline the detection mechanism of null and
	non-null items.
	(Analyze_Input_List): Add new local variable
	Non_Null_Input_Seen. Update all calls to Analyze_Input_Output.
	(Analyze_Input_Output): Add new formal parameter Non_Null_Seen
	and update the related comment on usage. Update the
	recursive call to itself. Attribute 'Result is now treated
	as a non-null item. Detect mixes of null and non-null items.
	(Analyze_Initialization_Item): Streamline the detection mechanism
	of null and non-null items.

2013-10-14  Vincent Celier  <celier@adacore.com>

	* projects.texi: Add documentation for the new project level
	attribute Library_Rpath_Options.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* a-exexpr-gcc.adb (Set_Exception_Parameter): New procedure.
	(Set_Foreign_Occurrence): New procedure, extracted from
	Setup_Current_Excep.
	* exp_ch11.adb (Expand_Exception_Handlers): Do not expand choice
	parameter in case of zcx.
	* sem_ch11.adb (Analyze_Exception_Handlers): Need debug info
	for the choice parameter.
	* raise-gcc.c: Add comments.

From-SVN: r203552
2013-10-14 15:39:16 +02:00
Arnaud Charlet 9b2451e5b3 [multiple changes]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Add an entry in table Canonical_Aspect for
	Initial_Condition.
	* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
	Aspect_Names and Aspect_Delay for Initial_Condition.
	* einfo.adb (Get_Pragma): Include pragma Initial_Condition to
	categorization pragmas.
	* einfo.ads (Get_Pragma): Update comment on usage.
	* exp_ch7.adb (Expand_N_Package_Body): Add a runtime check to
	verify the assertion introduced by pragma Initial_Condition.
	(Expand_N_Package_Declaration): Add a runtime check to
	verify the assertion introduced by pragma Initial_Condition.
	(Expand_Pragma_Initial_Condition): New routine.
	* par-prag: Include pragma Initial_Condition to the list of
	pragmas that do not require special processing by the parser.
	* sem_ch3.adb (Analyze_Declarations): Analyze pragma
	Initial_Condition at the end of the visible declarations.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
	for aspect Initial_Condition.
	(Check_Aspect_At_Freeze_Point):
	Aspect Initial_Condition does not need inspection at freezing.
	* sem_prag.adb (Analyze_Initial_Condition_In_Decl_Part):
	New routine.
	(Analyze_Pragma): Update all calls
	to Check_Declaration_Order. Add processing for pragma
	Initial_Condition. Initial_Condition is now a valid assertion
	kind.  Add an entry in table Sig_Flags for Initial_Condition.
	(Check_Declaration_Order): Reimplemented to handle arbitrary
	pragmas.
	(Is_Valid_Assertion_Kind): Add an entry for
	Initial_Condition.
	* sem_pag.ads (Analyze_Initial_Condition_In_Decl_Part):
	New routine.
	* sem_util.adb (Add_Contract_Item): Pragma Initial_Condition
	can now be associated with a package spec.
	* sem_util.ads (Add_Contract_Item): Update comment on usage.
	* sinfo.ads: Update the documentation of node N_Contract
	* snames.ads-tmpl: Add new predefined name Initial_Condition. Add
	new pragma id for Initial_Condition.

2013-10-14  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb: Minor reformatting.

From-SVN: r203551
2013-10-14 15:33:48 +02:00
Arnaud Charlet 1e7bc06555 [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb: Minor reformatting.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb (Check_Against_Predicate): Handle properly an
	others clause in various cases.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Matching_Constituent): Do
	not inspect the hidden states if there are no hidden states. This
	case arises when the constituents are states coming from a
	private child.

2013-10-14  Doug Rupp  <rupp@adacore.com>

	* init.c [ARMEL and VxWorks] (__gnat_map_signal): Re-arm guard
	page by clearing VALID bit vice setting page protection.

2013-10-14  Arnaud Charlet  <charlet@adacore.com>

	* gnat_rm.texi, adaint.c: Fix typo.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Is_Variable, In_Protected_Function):  In the
	body of a protected function, the protected object itself is a
	constant (not just its components).

From-SVN: r203550
2013-10-14 15:31:52 +02:00
Arnaud Charlet 5644b7e8e7 [multiple changes]
2013-10-14  Vincent Celier  <celier@adacore.com>

	* snames.ads-tmpl: Add new standard name Library_Rpath_Options.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): Allow importing
	of exception using convention Cpp.
	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Expand cpp
	imported exceptions.
	* raise-gcc.c (is_handled_by): Filter C++ exception occurrences.
	* gnat_rm.texi: Document how to import C++ exceptions.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

	* sem_ch13.adb (Sem_Ch13.Analyze_Aspect_Specification): For
	Priority and CPU aspects, when checking, issue a warning only
	if it is obviously not a main program.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* adaint.c: Fix condition for AIX. Minor reformatting.

From-SVN: r203549
2013-10-14 15:29:23 +02:00
Robert Dewar 0895ac082a sem_ch3.adb, [...]: Minor reformatting.
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_prag.adb, prj.ads: Minor reformatting.

From-SVN: r203548
2013-10-14 15:26:07 +02:00
Hristian Kirtchev 5ddcf7edb9 sem_prag.adb (Analyze_Depends_In_Decl_Part): Rename Outputs_Seen to All_Outputs_Seen and update all occurrences of the variable.
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Depends_In_Decl_Part):
	Rename Outputs_Seen to All_Outputs_Seen and update all occurrences
	of the variable.
	(Analyze_Input_Output): Add an item to
	All_Inputs_Seen when it is an input or a self-referential output.
	(Check_Mode): Comment reformatting.
	(Analyze_Abstract_State): Remove the restriction that an Export state
	must also have mode Input_Only or Output_Only.

From-SVN: r203547
2013-10-14 15:24:49 +02:00
Hristian Kirtchev c5c0ce68a4 einfo.adb: Flag 263 is now known as Has_Visible_Refinement.
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Flag 263 is now known as Has_Visible_Refinement.
	(Has_Non_Null_Refinement): New routine.
	(Has_Null_Refinement): The routine is now synthesized.
	(Has_Visible_Refinement): New routine.
	(Set_Has_Visible_Refinement): New routine.
	(Write_Entity_Flags): Remove the output for
	Has_Null_Refinement. Add output for Has_Visible_Refinement.
	* einfo.ads: Update the occurrences of Has_Non_Null_Refinement,
	Has_Null_Refinement and Has_Visible_Refinement in entities.
	(Has_Non_Null_Refinement): New synthesized attribute.
	(Has_Null_Refinement): This attribute is now synthesized.
	(Has_Visible_Refinement): New routine with corresponding
	pragma Inline.
	(Set_Has_Visible_Refinement): New routine with corresponding pragma
	Inline.
	* sem_ch3.adb (Analyze_Declarations): Add new local
	variable In_Package_Body. Remove state refinements from
	visibility at the end of the package body declarations.
	(Remove_Visible_Refinements): New routine.
	* sem_prag.adb (Analyze_Constituent): Collect a null
	constituent and mark the state as having visible refinement.
	(Analyze_Global_Item): Use attribute Has_Visible_Refinement to
	detect a state with visible refinement.
	(Analyze_Input_Output): Use attribute Has_Visible_Refinement to detect
	a state with visible refinement.
	(Check_Dependency_Clause): Use attribute Has_Non_Null_Refinement rather
	than checking the contents of list Refinement_Constituents.
	(Check_In_Out_States): Use attribute Has_Non_Null_Refinement rather
	than checking the contents of list Refinement_Constituents.
	(Check_Input_States): Use attribute Has_Non_Null_Refinement rather
	than checking the contents of list Refinement_Constituents.
	(Check_Matching_Constituent): Mark a state as having visible refinement.
	(Check_Output_States): Use attribute Has_Non_Null_Refinement rather than
	checking the contents of list Refinement_Constituents.
	(Check_Refined_Global_Item): Use attribute Has_Visible_Refinement
	to detect a state with visible refinement.
	(Is_Matching_Input): Use attribute Has_Non_Null_Refinement rather than
	checking the contents of list Refinement_Constituents.
	* sem_util.adb (Is_Refined_State): Use attribute
	Has_Visible_Refinement to detect a state with visible refinement.

From-SVN: r203546
2013-10-14 15:23:50 +02:00
Hristian Kirtchev 26168a32da sem_prag.adb (Check_Mode): Do not emit an error when inspecting a self referencial output item of an...
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Mode): Do not emit an
	error when inspecting a self referencial output item of an
	unconstrained type.

From-SVN: r203545
2013-10-14 15:21:37 +02:00
Arnaud Charlet c852a0a90d [multiple changes]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Fix
	target type for code of VMS imported exception.
	* init.c: Replace Exception_Code by void *.
	* s-vmexta.adb (Hash, Base_Code_In): Adjust code after changing
	the type of Exception_Code.

2013-10-14  Vincent Celier  <celier@adacore.com>

	* prj.ads: Minor comment updates.
	* prj-attr.adb: New attribute Library_Rpath_Options.

From-SVN: r203544
2013-10-14 15:20:51 +02:00
Arnaud Charlet cf3b97ef62 [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Library_Level attribute now applies to an
	entity name.
	* sem_attr.adb (Analyze_Attribute, case Library_Level): Prefix
	is now an entity name.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specification): For
	Priority and CPU aspects in subprograms, the expression in the
	aspect is analyzed and exported.

From-SVN: r203543
2013-10-14 15:19:17 +02:00
Arnaud Charlet 5c211bfd5a [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* s-valuti.adb, prep.adb, scng.adb, errout.adb: Minor reformatting.

2013-10-14  Eric Botcazou  <ebotcazou@adacore.com>

	* adaint.c: Further disable __gnat_get_executable_load_address
	for Linux.

2013-10-14  Vincent Celier  <celier@adacore.com>

	* gnat_ugn.texi: Add documentation for comparing symbols to
	integers in preprocessing expressions.

2013-10-14  Jose Ruiz  <ruiz@adacore.com>

	* sem_prag.adb (Analyze_Aspect_Specification): For
	Priority and CPU aspects in subprograms, the expression in the
	aspect is analyzed and exported.
	(Analyze_Pragma): When having a Priority pragma in the
	main subprogram, load a unit that will force the initialization
	of the tasking run time, which is needed for setting the required
	priority.

2013-10-14  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Check_Interfaces): Put in Other_Interfaces all
	non Ada interface files.
	* prj.ads (Project_Data): New component Other_Interfaces.

From-SVN: r203542
2013-10-14 15:16:59 +02:00
Arnaud Charlet ffd7623692 * gcc-interface/Makefile.in: Target pairs clean ups.
From-SVN: r203541
2013-10-14 15:14:36 +02:00
Vincent Celier 5164151f87 errout.adb (Write_Error_Summary): Do not output the number of lines when Main_Source_File is unknown.
2013-10-14  Vincent Celier  <celier@adacore.com>

	* errout.adb (Write_Error_Summary): Do not output the number
	of lines when Main_Source_File is unknown.
	(Output_Messages): Do not write the header when Main_Source_File is
	unknown.

2013-10-14  Vincent Celier  <celier@adacore.com>

	* prep.adb (Expression): Accept terms of the form 'symbol <relop>
	integer", where relop is =, <, <=, > or >=.
	(Parse_Def_File): Accept literal integer values.
	* gcc-interface/Make-lang.in: Add s-valint.o, s-valuns.o and
	s-valuti.o to the compiler object files.

From-SVN: r203540
2013-10-14 15:13:55 +02:00
Arnaud Charlet 0247964def [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb, exp_ch11.adb, s-exctab.adb: Minor reformatting.
	* usage.adb: Add line for -gnateu switch.

2013-10-14  Vincent Celier  <celier@adacore.com>

	* lib-writ.ads: Add comments to indicate that a path name in
	D lines may be quoted if the path name includes directories
	with spaces.

2013-10-14  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Document -gnatd.E.
	* gnat1drv.adb (Adjust_Global_Switches): Set Error_To_Warning
	if -gnatd.E set.
	* opt.ads (Error_To_Warning): New switch.
	* osint.adb: Minor reformatting.
	* sem_warn.adb (Warn_On_Overlapping_Actuals): Overlap is error
	in some cases in Ada 2012 mode (unless Error_To_Warning) is set.
	* sem_warn.ads (Warn_On_Overlapping_Actuals): Document error
	in Ada 2012 mode.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* cstand.adb: Add a comment for Standard_Exception_Type.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Process_Transient_Object): If a transient scope
	has already been created, use the corresponding Node_To_Be_Wrapped
	as the insertion point for the controlled actions.

From-SVN: r203539
2013-10-14 15:10:22 +02:00
Tristan Gingold e443f14204 cstand.adb (Create_Standard): Change Import_Code component of Standard_Exception_Type to Foreign_Data.
2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* cstand.adb (Create_Standard): Change Import_Code component
	of Standard_Exception_Type to Foreign_Data. Its type is now
	Standard_A_Char (access to character).
	* exp_prag.adb (Expand_Pragma_Import_Export_Exception): Adjust
	definition of Code to match the type of Foreign_Data.
	* s-stalib.ads (Exception_Data): Replace Import_Code by Foreign_Data
	Change the definition of standard predefined exceptions.
	(Exception_Code): Remove.
	* raise.h (Exception_Code): Remove (Exception_Data): Replace
	Import_Code field by Foreign_Data.
	* rtsfind.ads (RE_Exception_Code): Remove
	(RE_Import_Address): Add.
	* a-exexpr-gcc.adb (Import_Code_For): Replaced by Foreign_Data_For.
	* exp_ch11.adb (Expand_N_Exception_Declaration): Associate null
	to Foreign_Data component.
	* raise-gcc.c (Import_Code_For): Replaced by Foreign_Data_For.
	(is_handled_by): Add comments. Use replaced function. Change
	condition so that an Ada occurrence is never handled by
	Foreign_Exception.
	* s-exctab.adb (Internal_Exception): Associate Null_Address to
	Foreign_Data component.
	* s-vmexta.adb, s-vmexta.ads (Exception_Code): Declare Replace
	SSL.Exception_Code by Exception_Code.

From-SVN: r203538
2013-10-14 15:06:44 +02:00
Rainer Orth 5a015f2bbd Fix gcc.dg/torture/pr58670.c for Solaris 9/x86 assembler
* gcc.dg/torture/pr58670.c (ASM_STR) [__i386__ || __x86_64__]: Use
	btsl.

From-SVN: r203537
2013-10-14 13:06:27 +00:00
Robert Dewar d48cd424bb gnat_ugn.texi: Document -gnateu switch.
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document -gnateu switch.
	* opt.ads (Ignore_Unrecognized_VWY_Switches): New switch.
	* stylesw.adb: Ignore unrecognized switch if
	Ignore_Unrecognized_VWY_Switches set.
	* switch-c.adb: Implement -gnateu (sets
	Ignore_Unrecognized_VWY_Switches).
	* validsw.adb: Ignore unrecognized switch if
	Ignore_Unrecognized_VWY_Switches set.
	* warnsw.adb: Ignore unrecognized switch if
	Ignore_Unrecognized_VWY_Switches set.

From-SVN: r203536
2013-10-14 15:01:34 +02:00
Arnaud Charlet e4691ba99b [multiple changes]
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb, sem_prag.adb, a-exexda.adb, s-vmexta.ads: Minor
	reformatting.

2013-10-14  Vincent Celier  <celier@adacore.com>

	* ali.adb (Get_File_Name): New Boolean parameter May_Be_Quoted,
	defaulted to False.  Calls Get_Name with May_Be_Quoted.
	(Get_Name): New Boolean parameter May_Be_Quoted, defaulted to
	False. If May_Be_Quoted is True and first non blank charater is
	'"', unquote the name.
	(Scan_ALI): For the file/path name on the D line, call Get_File_Name
	with May_Be_Quoted = True, as it may have been quoted.
	* lib-util.adb, lib-util.ads (Write_Info_Name_May_Be_Quoted): New
	procedure to write file/path names that may contain spaces and if they
	do are quoted.
	* lib-writ.adb (Write_ALI): Use new procedure
	Write_Info_Name_May_Be_Quoted to write file/path names on D lines.

From-SVN: r203534
2013-10-14 14:58:07 +02:00
Richard Biener 0a387eca30 lto.c (gimple_types, [...]): Remove old merging code and statistics.
2013-10-14  Richard Biener  <rguenther@suse.de>

	lto/
	* lto.c (gimple_types, type_hash_cache, struct type_pair_d,
	type_pair_cache, lookup_type_pair, struct sccs, next_dfs_num,
	gtc_next_dfs_num, compare_type_names_p, gtc_visit,
	gimple_types_compatible_p_1, gimple_types_compatible_p,
	visit, iterative_hash_name, struct type_hash_pair,
	type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
	gimple_type_eq, gimple_register_type, num_not_merged_types,
	num_not_merged_types_in_same_scc, num_not_merged_types_trees,
	num_not_merged_types_in_same_scc_trees): Remove old merging code
	and statistics.
	(lto_read_decls): Do not run old merging code in parallel.
	(read_cgraph_and_symbols): Do not init/free old merging
	data structures.
	(print_lto_report_1): Do not report differences of old vs. new
	merging code.

From-SVN: r203533
2013-10-14 12:57:11 +00:00
Arnaud Charlet 055416a8d1 [multiple changes]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Depends_In_Decl_Part,
	Analyze_Global_In_Decl_Part,
	Analyze_Pre_Post_Condition_In_Decl_Part): Install the subprogram
	and its formals only when it is not already installed.
	* sem_util.adb (Is_Refined_State): A state is refined when it
	has a non-empty list of constituents.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* adaint.c: Disable __gnat_get_executable_load_address for linux.
	* exp_prag.adb: Add comment in Expand_Pragma_Import_Export_Exception.

From-SVN: r203532
2013-10-14 14:55:37 +02:00
Arnaud Charlet 39d3009faf [multiple changes]
2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* s-vmexta.ads: Add comments.

2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Add processing
	for pragma Refined_State.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add processing
	for aspect Refined_Depends.
	* sem_prag.adb (Analyze_Contract_Cases_In_Decl_Part):
	Use Find_Related_Subprogram_Or_Body to find the related
	context. Use the current scope when determining whether to
	ensure proper visibility.
	(Analyze_Depends_In_Decl_Part):
	Add local variable Spec_Id. Update the comment on usage of
	Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
	related context. Extract the corresponding spec of the body
	(if any). Use the current scope when determining when to
	ensure proper visibility.
	(Analyze_Global_In_Decl_Part):
	Add local variable Spec_Id. Update the comment on usage of
	Subp_Id. Use Find_Related_Subprogram_Or_Body to find the
	related context. Extract the corresponding spec of the body
	(if any). Use the current scope when determining when to
	ensure proper visibility.
	(Analyze_Global_Item): Use the
	entity of the subprogram spec when performing formal parameter
	checks. Perform state-related checks.
	(Analyze_Input_Output):
	Use Is_Attribute_Result to detect 'Result. Query the
	entity of a subprogram spec when verifying the prefix of
	'Result. Perform state-related checks.	(Analyze_Pragma):
	Merge the analysis of Refined_Depends and Refined_Global.
	(Analyze_Refined_Depends_In_Decl_Part): Provide implemenation.
	(Analyze_Refined_Global_In_Decl_Part): Move state-related checks
	to the body of Analyze_Global_In_Decl_Part. Rename local constant
	List to Items.	(Analyze_Refined_Pragma): Remove circuitry to
	find the proper context, use Find_Related_Subprogram_Or_Body
	instead.
	(Check_Function_Return): Query the entity of
	the subprogram spec when verifying the use of 'Result.
	(Check_In_Out_States, Check_Input_States, Check_Output_States):
	Avoid using Has_Null_Refinement to detect a state with
	a non-null refinement, use the Refinement_Constituents
	list instead.
	(Check_Matching_Constituent): Remove initialization code.
	(Check_Mode_Restriction_In_Function): Use the entity of the subprogram
	spec when verifying mode usage in functions.
	(Collect_Global_Items): New routine.
	(Collect_Subprogram_Inputs_Outputs): Add local
	variable Spec_Id. Add circuitry for bodies-as-specs. Use
	pragma Refined_Global when collecting for a body.
	(Create_Or_Modify_Clause): Use the location of the
	clause. Rename local variable Clause to New_Clause to avoid
	confusion and update all occurrences.  Use Is_Attribute_Result
	to detect 'Result.
	(Find_Related_Subprogram): Removed.
	(Find_Related_Subprogram_Or_Body): New routine.
	(Is_Part_Of): Move routine to top level.
	(Normalize_Clause): Update the
	comment on usage. The routine can now normalize a clause with
	multiple outputs by splitting it.
	(Collect_Global_Items):
	Rename local constant List to Items. Remove the check for
	a null list.
	(Requires_Profile_Installation): Removed.
	(Split_Multiple_Outputs): New routine.
	* sem_prag.ads: Update the comments on usage of various
	pragma-related analysis routines.
	* sem_util.adb (Contains_Refined_State): The routine can now
	process pragma [Refined_]Depends.
	(Has_Refined_State): Removed.
	(Has_State_In_Dependency): New routine.
	(Has_State_In_Global): New routine.
	(Is_Attribute_Result): New routine.
	* sem_util.ads (Is_Attribute_Result): New routine.

2013-10-14  Emmanuel Briot  <briot@adacore.com>

	* s-regpat.adb (Compile): Fix finalization of the automaton
	when its size was automatically computed to be exactly 1000 bytes.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Complete_Private_Subtype): If the full view of
	the base type is constrained, the full view of the subtype is
	known to be constrained as well.

From-SVN: r203531
2013-10-14 14:52:31 +02:00
Arnaud Charlet 747412b8fe [multiple changes]
2013-10-14  Vincent Celier  <celier@adacore.com>

	* projects.texi: Add documentation for new attributes of package
	Clean: Artifacts_In_Object_Dir and Artifacts_In_Exec_Dir.

2013-10-14  Tristan Gingold  <gingold@adacore.com>

	* adaint.c, adaint.h (__gnat_get_executable_load_address):
	New function.
	* a-exexda.adb (Append_Info_Basic_Exception_Traceback): Add
	executable load address (Basic_Exception_Tback_Maxlength): Adjust.

From-SVN: r203530
2013-10-14 14:49:26 +02:00
Vincent Celier 3599a97bc3 prj-attr.adb: New attributes in package Clean: Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir.
2013-10-14  Vincent Celier  <celier@adacore.com>

	* prj-attr.adb: New attributes in package Clean:
	Artifacts_In_Exec_Dir, Artifacts_In_Object_Dir.
	* prj-nmsc.adb (Process_Clean (Attributes)): New
	procedure to process attributes Artifacts_In_Exec_Dir and
	Artifacts_In_Object_Dir in package Clean.
	* prj.ads (Project_Configuration): New components
	Artifacts_In_Exec_Dir and Artifacts_In_Object_Dir.
	* snames.ads-tmpl: New standard names Artifacts_In_Exec_Dir and
	Artifacts_In_Object_Dir used only by gprclean.

From-SVN: r203529
2013-10-14 14:47:59 +02:00
Robert Dewar f7ea2603f6 exp_attr.adb (Expand_N_Attribute_Reference): Add error entry for Library_Level attribute (which should not survive to expansion)
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): Add error
	entry for Library_Level attribute (which should not survive
	to expansion)
	* gnat_rm.texi: Document attribute Library_Level
	* sem_attr.adb (Analyze_Attribute, case Library_Level): Implement
	this new attribute (Set_Boolean_Result): Replaces Set_Result
	(Check_Standard_Prefix): Document that Check_E0 is called
	(Check_System_Prefix): New procedure
	* snames.ads-tmpl: Add entry for Library_Level attribute

2013-10-14  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb, sinfo.ads: Minor reformatting.
	* checks.adb (Overlap_Check): Use identifier casing in messages.

From-SVN: r203528
2013-10-14 14:46:56 +02:00
Robert Dewar 688a9b51c9 einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type only.
2013-10-14  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Default_Aspect_Component_Value): Is on base type
	only.
	* exp_aggr.adb (Expand_Array_Aggregate): Handle proper
	initialization of <> component.
	* exp_ch3.adb, exp_tss.adb: Minor reformatting
	* sem_ch13.adb (Default_Aspect_Component_Value, Default_Aspect_Value):
	Is on base type only.
	* sinfo.ads: Minor comment revision.

2013-10-14  Robert Dewar  <dewar@adacore.com>

	* g-decstr.adb (Decode_Wide_Wide_Character): Fix failure
	to detect invalid sequences where longer than necessary
	sequences are used for encoding.
	(Validate_Wide_Character):
	Call Decode_Wide_Character to get the above validations.
	(Validate_Wide_Wide_Character): Same fix
	* g-decstr.ads: Add documentation making it clear that the UTF-8
	implementation here recognizes all valid UTF-8 sequences, rather
	than the well-formed subset corresponding to characters defined
	in Unicode.
	(Next_Wide_Character): Remove comment about this
	being more efficient than Decode_Wide_Character (because this
	no longer the case).
	(Prev_Wide_Character): Add note that valid encoding is assumed.

2013-10-14  Robert Dewar  <dewar@adacore.com>

	* a-wichha.adb (Character_Set_Version): New function.
	* a-wichha.ads: Remove comments for pragma Pure (final RM has
	this).
	(Character_Set_Version): New function.
	* gnat_rm.texi: Update doc.

From-SVN: r203527
2013-10-14 14:45:14 +02:00
Arnaud Charlet 124092ee8a [multiple changes]
2013-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb: Flag263 is now known as Has_Null_Refinement.
	(Has_Null_Refinement): New routine.
	(Set_Has_Null_Refinement): New routine.
	(Write_Entity_Flags): Output the status of flag
	Has_Null_Refinement.
	* einfo.ads: Add new flag Has_Null_Refinement along with
	comment on usage and update all nodes subject to the flag.
	(Has_Null_Refinement): New routine along with pragma Inline.
	(Set_Has_Null_Refinement): New rouitine along with pragma Inline.
	* sem_prag.adb (Analyze_Constituent): Mark a state as having
	a null refinement when the sole constituent is "null".
	(Analyze_Global_List): Handle null input/output items.
	(Analyze_Refined_Global_In_Decl_Part): Add local variable
	Has_Null_State. Add logic to handle combinations of states
	with null refinements and null global lists and/or items.
	(Check_In_Out_States, Check_Input_States, Check_Output_States):
	Use attribute Has_Null_Refinement to detect states with
	constituents.
	(Check_Refined_Global_List): Handle null input/output items.
	(Process_Global_Item): Handle states with null refinements.
	(Process_Global_List): Handle null input/output items.

2013-10-14  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Reset Is_True_Constant for
	aliased object
	* gnat_ugn.texi: Update doc on aliased variables and constants.

2013-10-14  Ed Schonberg  <schonberg@adacore.com>

	* exp_pakd.adb (Expand_Packed_Element_Reference): If the
	reference is an actual in a call, the prefix has not been fully
	expanded, to account for the additional expansion for parameter
	passing. the prefix itself is a packed reference as well,
	recurse to complete the transformation of the prefix.

2013-10-14  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_dbug.adb (Debug_Renaming_Declaration): Do not
	materialize the entity when the renamed object contains an
	N_Explicit_Dereference.
	* sem_ch8.adb (Analyze_Object_Renaming):
	If the renaming comes from source and the renamed object is a
	dereference, mark the prefix as needing debug information.

2013-10-14  Doug Rupp  <rupp@adacore.com>

	* system-vxworks-arm.ads (Stack_Check_Probes, Stack_Check_Limits):
	Enable Stack Probes, Disable Stack Limit Checking.
	* init.c [VxWorks] (__gnat_inum_to_ivec): Caste return value.
	(__gnat_map_signal): Fix signature.
	(__gnat_error_handler): Make
	static, fix signature, remove prototype, fix prototype warning.
	[ARMEL and VxWorks6] (__gnat_map_signal): Check and re-arm guard
	page for storage_error.
	* exp_pakd.adb: Minor reformatting.

From-SVN: r203526
2013-10-14 14:42:04 +02:00