Commit Graph

125830 Commits

Author SHA1 Message Date
Tim Shen 96937d47ac re PR libstdc++/58737 (leak in std::regex_match)
2013-10-15  Tim Shen  <timshen91@gmail.com>

	PR libstdc++/58737
	* include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
	leak by adding it.
	* include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.

From-SVN: r203610
2013-10-15 15:01:44 +00:00
Alexander Ivchenko afb4ac68f0 sse.md (unspec): Add UNSPEC_RCP14...
* config/i386/sse.md (unspec): Add UNSPEC_RCP14, UNSPEC_RSQRT14,
	UNSPEC_FIXUPIMM, UNSPEC_SCALEF, UNSPEC_GETEXP, UNSPEC_GETMANT,
	UNSPEC_EXP2, UNSPEC_RCP28, UNSPEC_RSQRT28.
	(rcp14<mode>): New.
	(srcp14<mode>): Ditto.
	(rsqrt14<mode>): Ditto.
	(rsqrt14<mode>): Ditto.
	(avx512f_vmscalef<mode>): Ditto.
	(avx512f_scalef<mode>): Ditto.
	(avx512f_getexp<mode>): Ditto.
	(avx512f_sgetexp<mode>): Ditto.
	(avx512f_fixupimm<mode>): Ditto.
	(avx512f_sfixupimm<mode>): Ditto.
	(avx512f_rndscale<mode>): Ditto.
	(*avx512er_exp2<mode>): Ditto.
	(*avx512er_rcp28<mode>): Ditto.
	(avx512er_rsqrt28<mode>): Ditto.
	(avx512f_getmant<mode>): Ditto.
	(avx512f_getmant<mode>): Ditto.
	(avx512f_rndscale<mode>): Fix formatting.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203609
2013-10-15 14:33:34 +00:00
Martin Jambor 4cb1359729 ipa-utils.h (ipa_edge_within_scc): Declare.
2013-10-15  Martin Jambor  <mjambor@suse.cz>

	* ipa-utils.h (ipa_edge_within_scc): Declare.
	* ipa-cp.c (edge_within_scc): Moved...
	* ipa-utils.c (ipa_edge_within_scc): ...here.  Updated all callers.

From-SVN: r203607
2013-10-15 16:15:07 +02:00
Alexander Ivchenko 2e2206faab predicates.md (const_8_to_15_operand): New.
* config/i386/predicates.md (const_8_to_15_operand): New.
        (const_16_to_31_operand): Ditto.
        * config/i386/sse.md (V8FI): New.
        (V16FI): Ditto.
        (reduc_splus_v8df): Ditto.
        (reduc_splus_v16sf): Ditto.
        (avx512f_vextract<shuffletype>32x4_1): Ditto.
        (vec_extract_hi_<mode>): Ditto.
        (avx512f_vinsert<shuffletype>32x4_1): Ditto.
        (vec_set_lo_<mode>): Ditto.
        (vec_set_hi_<mode>): Ditto.
        (avx512f_shuf_<shuffletype>64x2_1): Ditto.
        (avx512f_shuf_<shuffletype>32x4_1): Ditto.
        (avx512f_pshufd_1): Ditto.
        (avx512f_broadcast<mode>): Ditto.
        (avx512f_broadcast<mode>): Ditto.
        (define_split): Split vec_extract_lo into move.
        (ssequartermode): Ditto.
        (ssedoublemode): Extened with wider modes.
        (vec_extract_lo_<mode>): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203606
2013-10-15 13:54:52 +00:00
Alexander Ivchenko 0fe65b75fe predicates.md (register_or_constm1_operand): New.
* config/i386/predicates.md (register_or_constm1_operand): New.
        * config/i386/sse.md (unspec): Add UNSPEC_UNSIGNED_PCMP, UNSPEC_TESTM,
        UNSPEC_TESTNM, UNSPEC_VTERNLOG, UNSPEC_ALIGN, UNSPEC_CONFLICT,
        UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT, UNSPEC_GATHER_PREFETCH,
        UNSPEC_SCATTER_PREFETCH
        (VI48_512): New.
        (avx512f_ucmp<mode>3): Ditto.
        (avx512f_vternlog<mode>): Ditto.
        (avx512f_align<mode>): Ditto.
        (<shift_insn><mode>3): Ditto.
        (avx512f_<rotate>v<mode>): Ditto.
        (avx512f_<rotate><mode>): Ditto.
        (avx512f_eq<mode>3): Ditto.
        (avx512f_eq<mode>3_1): Ditto.
        (avx512f_gt<mode>3): Ditto.
        (avx512f_testm<mode>3): Ditto.
        (avx512f_testnm<mode>3): Ditto.
        (avx512pf_gatherpf<mode>): Ditto.
        (*avx512pf_gatherpf<mode>_mask): Ditto.
        (*avx512pf_gatherpf<mode>): Ditto.
        (avx512pf_scatterpf<mode>): Ditto.
        (*avx512pf_scatterpf<mode>_mask): Ditto.
        (*avx512pf_scatterpf<mode>): Ditto.
        (avx512f_vec_dup_gpr<mode>): Ditto.
        (clz<mode>2): Ditto.
        (conflict<mode>): Ditto.
        (REDUC_SMINMAX_MODE): Extened with wider modes.
        (reduc_<code>_<mode>): Ditto.
        (vlshr<mode>3): Ditto.
        (vashl<mode>3): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203605
2013-10-15 13:51:56 +00:00
Alexander Ivchenko ab931c7111 sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2, UNSPEC_SCATTER.
* config/i386/sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2,
        UNSPEC_SCATTER.
        (VI48F_512): New.
        (avx512fmaskmode): Ditto.
        (bcstscalarsuff): Ditto.
        (avx512f_blendm<mode>): Ditto.
        (cmp_imm_predicate): Ditto.
        (avx512f_cmp<mode>3): Ditto.
        (avx512f_vec_dup<mode>): Ditto.
        (avx512f_vec_dup_mem<mode>): Ditto.
        (avx512f_vpermi2var<mode>3): Ditto.
        (avx512f_vpermt2var<mode>3): Ditto.
        (vec_init<mode>): Ditto.
        (avx512f_gathersi<mode>): Ditto.
        (*avx512f_gathersi<mode>): Ditto.
        (*avx512f_gathersi<mode>_2): Ditto.
        (avx512f_gatherdi<mode>): Ditto.
        (*avx512f_gatherdi<mode>): Ditto.
        (*avx512f_gatherdi<mode>_2): Ditto.
        (avx512f_scattersi<mode>): Ditto.
        (*avx512f_scattersi<mode>): Ditto.
        (avx512f_scatterdi<mode>): Ditto.
        (*avx512f_scatterdi<mode>): Ditto.
        (sseintprefix): Extened with wider modes.
        (VEC_GATHER_IDXSI): Ditto.
        (VEC_GATHER_IDXDI): Ditto.
        (VEC_GATHER_SRCDI): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203604
2013-10-15 13:49:55 +00:00
Matthew Gretton-Dann c9acb877bb Add A profile only multilib make file fragment.
2013-10-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/t-aprofile: New file.
	* config.gcc: Handle --with-multilib-list option.


Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

From-SVN: r203603
2013-10-15 13:23:44 +00:00
Richard Biener fffda8d7a3 lto.c (hash_canonical_type): Split out from ...
2013-10-15  Richard Biener  <rguenther@suse.de>

	lto/
	* lto.c (hash_canonical_type): Split out from ...
	(iterative_hash_canonical_type): ... here.  Register types
	we recurse to.
	(gimple_canonical_type_hash): Adjust.
	(gimple_register_canonical_type_1): Split out from ...
	(gimple_register_canonical_type): ... here.  Cache computed
	hash value.
	(lto_register_canonical_types): Split into two modes,
	clearing and computing TYPE_CANONICAL.
	(lto_read_decls): Adjust.
	(read_cgraph_and_symbols): Do two passes over global trees,
	first clearing then computing TYPE_CANONICAL.

From-SVN: r203600
2013-10-15 11:13:04 +00:00
Arnaud Charlet 7569f6972e [multiple changes]
2013-10-15  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb (Expand_Packed_Element_Set,
	Expand_Packed_Element_Reference): Adjust for the case of packed
	arrays of reverse-storage-order types.

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

	* sem_prag.adb: Minor reformatting.

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

	* sem_attr.adb (Analyze_Attribute_Specification, case
	To_Address): If the expression is an identifier, do not modify
	its type; it will be converted when necessary, and the type of
	the expression must remain consistent with that of the entity
	for back-end consistency.

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

	* sem_ch7.adb (Unit_Requires_Body): Add flag
	Ignore_Abstract_State (Analyze_Package_Specification): Enforce
	rule requiring Elaborate_Body if a non-null abstract state is
	specified for a library-level package.
	* sem_ch7.ads (Unit_Requires_Body): Add flag Ignore_Abstract_State.

From-SVN: r203598
2013-10-15 13:01:03 +02:00
Bernd Schmidt ecbda48438 Fix a miscompilation where a reload reg is reused after it has been clobbered.
* reload1.c (reloads_unique_chain_p): Ensure that r1 is the input for
	r2.

From-SVN: r203596
2013-10-15 10:36:03 +00:00
Arnaud Charlet ef163a0a63 [multiple changes]
2013-10-15  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Constituent): When
	a state acts as a constituent of another state, ensure that
	the said state has a Part_Of dependency in its corresponding
	aspect/pragma Abstract_State.

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

	* par-ch4.adb (P_If_expression): Handle redundant ELSE cleanly.

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

	* atree.ads (New_Copy, Relocate_Node): Improve documentation
	(note that these subprograms reset Is_Overloaded).

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

	* checks.adb (Check_Needed): Handle the case where the test in
	the left operand of the short circuit is wrapped in a qualified
	expression, type conversion, or expression with actions.

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

	* sem_type.adb, sem_type.ads (Save_Interps): Also propagate
	Is_Overloaded to New_N, for consistency.

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

	* a-tienau.adb (Put): Use file parameter to query values of
	current column and line length.

From-SVN: r203595
2013-10-15 12:33:29 +02:00
Arnaud Charlet 99f9794783 [multiple changes]
2013-10-15  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, exp_ch11.adb, a-except-2005.adb, a-except-2005.ads:
	Minor reformatting.

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

	* targparm.ads: Fix minor typo in comment.

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

	* lib-xref.adb: handle full views that are derived from private
	types.
	* sem_util.adb (Build_Elaboration_Entity): Do nothing in ASIS
	mode: the elaboration entity is not in the source, and plays no
	role in semantic analysis.  Minor reformatting.

From-SVN: r203594
2013-10-15 12:29:47 +02:00
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