Commit Graph

130589 Commits

Author SHA1 Message Date
Arnaud Charlet e3a325f2f0 [multiple changes]
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* sem_cat.adb: Minor reformatting.

2014-06-13  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb (Analyze_Pragma/Post_Class): Fix typo.

2014-06-13  Arnaud Charlet  <charlet@adacore.com>

	* gnat_rm.texi: Add detail on SPARK_05 restriction.

2014-06-13  Bob Duff  <duff@adacore.com>

	* s-solita.adb (Get_Sec_Stack_Addr, Init_Tasking_Soft_Links):
	Add assertions requiring the secondary stack to be initialized.
	* s-solita.ads (Init_Tasking_Soft_Links): Comment.
	* s-taprob.adb, s-tarest.adb, s-tasini.adb (elab code): Make sure the
	secondary stack is initialized before calling Init_Tasking_Soft_Links,
	by adding pragmas Elaborate_Body.

2014-06-13  Thomas Quinot  <quinot@adacore.com>

	* sem_ch13.adb (Analyze_Stream_TSS_Definition): Remove temporary
	kludge disabling new legality check.

From-SVN: r211614
2014-06-13 11:47:16 +02:00
Arnaud Charlet aa6113321a [multiple changes]
2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Record_Type): Remove checks related to SPARK
	volatile types.
	(Freeze_Type): Volatile types are now illegal in SPARK.

2014-06-13  Robert Dewar  <dewar@adacore.com>

	* aspects.ads, aspects.adb: Add aspect Thread_Local_Storage.
	* gnat_rm.texi: Document aspect Thread_Local_Storage.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_cat.adb (Validate_Static_Object_Name): A constant whose
	value is a temporary that renames an aggregate is legal in a
	preelaborated unit. Illegalities, if any will be detected in
	the aggregate components.

2014-06-13  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads: Minor reformatting an comment expansion.

From-SVN: r211613
2014-06-13 11:44:48 +02:00
Arnaud Charlet 5af638c875 [multiple changes]
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* back_end.ads, back_end.adb: Make_Id, Make_SC, Set_RND are moved to
	Tbuild.
	* tbuild.ads, tbuild.adb: Make_Id, Make_SC, Set_RND are moved here from
	Back_End.
	* gnat1drv.adb: Make_Id, Make_SC, Set_RND are moved to Tbuild
	* sem_warn.adb: Minor reformatting.

2014-06-13  Doug Rupp  <rupp@adacore.com>

	* adaint.c (__gnat_open_new_temp) [VMS]: Open binary
	files with rfm=udf.

From-SVN: r211612
2014-06-13 11:43:03 +02:00
Arnaud Charlet 7f2c8954da [multiple changes]
2014-06-13  Yannick Moy  <moy@adacore.com>

	* sem_warn.adb (Check_Unset_References): Take
	case of Refined_Post into account in Within_Postcondition check.

2014-06-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* freeze.adb (Freeze_Record_Type): Volatile types are not allowed in
	SPARK.

2014-06-13  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Import,
	Aspect_Export): Consider that variables may be set outside the program.

From-SVN: r211611
2014-06-13 11:40:19 +02:00
Arnaud Charlet 28bc33232d [multiple changes]
2014-06-13  Robert Dewar  <dewar@adacore.com>

	* back_end.adb (Make_Id): New function.
	(Make_SC): New function.
	(Set_RND): New procedure.
	* back_end.ads (Make_Id): New function.
	(Make_SC): New function.
	(Set_RND): New procedure.
	* einfo.ads: Minor comment updates.
	* frontend.adb: Move Atree.Initialize call to Gnat1drv.
	* gnat1drv.adb (Gnat1drv): New calling sequence for
	Get_Target_Parameters.
	(Gnat1drv): Move Atree.Initialize here from Frontend.
	* targparm.adb (Get_Target_Parameters): New calling
	sequence (Get_Target_Parameters): Handle pragma Restriction
	(No_Dependence,..)
	* targparm.ads (Get_Target_Parameters): New calling sequence.

2014-06-13  Gary Dismukes  <dismukes@adacore.com>

	* sem_prag.adb (Process_Import_Or_Interface): Exit the homonym
	loop if the pragma does not come from source, so that an implicit
	pragma Import only applies to the first declaration, avoiding
	possible conflicts with earlier explicit and implicit declarations
	due to multiple Provide_Shift_Operators pragmas.
	(Set_Imported): Remove previous fix that bypassed pragma duplication
	error.
	* gnat_rm.texi: Change 'equivalent' to 'similar' in description
	of Provide_Shift_Operators.

From-SVN: r211610
2014-06-13 11:38:29 +02:00
Thomas Preud'homme ca6cbdca8a re PR tree-optimization/61375 (ICE in int_cst_value at -O3 in tree-ssa pass when compiling a reference to an __int128 value)
2014-06-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/61375
    * tree-ssa-math-opts.c (init_symbolic_number): Cancel optimization if
    symbolic number cannot be represented in an uint64_t.
    (find_bswap_or_nop_1): Likewise.

    gcc/testsuite/
    PR tree-optimization/61375
    * gcc.c-torture/execute/pr61375-1.c: New test.

From-SVN: r211604
2014-06-13 03:17:02 +00:00
GCC Administrator 9aa1bac557 Daily bump.
From-SVN: r211603
2014-06-13 00:17:21 +00:00
Jan Hubicka 24e49ea0b1 symtab.c (symtab_node::reset_section): New method.
* symtab.c (symtab_node::reset_section): New method.
	* cgraph.c (cgraph_node_cannot_be_local_p_1): Accept non-local
	for localization.
	* cgraph.h (reset_section): Declare.
	* ipa-inline-analysis.c (do_estimate_growth): Check for comdat groups;
	do not consider comdat locals.
	* cgraphclones.c (set_new_clone_decl_and_node_flags): Get section
	for new symbol.
	* ipa-visiblity.c (cgraph_externally_visible_p): Cleanup.
	(update_visibility_by_resolution_info): Consider UNDEF; fix checking;
	reset sections of symbols dragged out of the comdats.
	(function_and_variable_visibility): Reset sections of localized symbols.

From-SVN: r211600
2014-06-12 22:23:55 +00:00
Jan Hubicka 6ad386b725 tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg to use symtab and decl_binds_to_current_def_p
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg
	to use symtab and decl_binds_to_current_def_p
	* tree-vectorizer.c (increase_alignment): Increase alignment
	of alias target, too.

From-SVN: r211599
2014-06-12 22:16:25 +00:00
Jakub Jelinek 9cf32741aa re PR middle-end/61486 (ICE with #pragma omp teams)
PR middle-end/61486
	* gimplify.c (struct gimplify_omp_ctx): Add distribute field.
	(gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
	if outer combined construct is distribute.
	(gimplify_omp_for): For OMP_DISTRIBUTE set
	gimplify_omp_ctxp->distribute.
	* omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
	GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
	mapping into decl map.
c-family/
	* c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
	#pragma omp target teams or
	#pragma omp {,target }teams distribute simd.
testsuite/
	* c-c++-common/gomp/pr61486-1.c: New test.
	* c-c++-common/gomp/pr61486-2.c: New test.

From-SVN: r211596
2014-06-12 23:10:11 +02:00
Jason Merrill 6298491866 Support -Wabi warning about backward compatibility.
gcc/c-family/
	* c.opt (Wabi=, fabi-compat-version): New.
	* c-opts.c (c_common_handle_option): Handle -Wabi=.
	(c_common_post_options): Handle flag_abi_compat_version default.
	Disallow -fabi-compat-version=1.
	* c-common.h (abi_version_crosses): New.
gcc/cp/
	* call.c (convert_arg_to_ellipsis): Use abi_version_crosses.
	* cvt.c (type_promotes_to): Likewise.
	* mangle.c (write_type, write_expression): Likewise.
	(write_name, write_template_arg): Likewise.
	(mangle_decl): Make alias based on flag_abi_compat_version.
	Emit -Wabi warning here.
	(finish_mangling_internal): Not here.  Drop warn parm.
	(finish_mangling_get_identifier, finish_mangling): Adjust.
	(mangle_type_string, mangle_special_for_type): Adjust.
	(mangle_ctor_vtbl_for_type, mangle_thunk): Adjust.
	(mangle_guard_variable, mangle_tls_init_fn): Adjust.
	(mangle_tls_wrapper_fn, mangle_ref_init_variable): Adjust.

From-SVN: r211594
2014-06-12 16:47:21 -04:00
Jason Merrill ca0e51a0e5 * common.opt (fabi-version): Change default to 0.
From-SVN: r211593
2014-06-12 16:47:14 -04:00
Jason Merrill 90d8493479 toplev.c (process_options): Reject -fabi-version=1.
gcc/
	* toplev.c (process_options): Reject -fabi-version=1.
gcc/cp/
	* call.c (build_operator_new_call): Remove -fabi-version=1 support.
	* class.c (walk_subobject_offsets, include_empty_classes): Likewise.
	(layout_nonempty_base_or_field, end_of_class): Likewise.
	(layout_empty_base, build_base_field, layout_class_type): Likewise.
	(is_empty_class, add_vcall_offset_vtbl_entries_1): Likewise.
	(layout_virtual_bases): Likewise.
	* decl.c (compute_array_index_type): Likewise.
	* mangle.c (write_mangled_name, write_prefix): Likewise.
	(write_template_prefix, write_integer_cst, write_expression): Likewise.
	(write_template_arg, write_array_type): Likewise.
	* method.c (lazily_declare_fn): Likewise.
	* rtti.c (get_pseudo_ti_index): Likewise.
	* typeck.c (comp_array_types): Likewise.

From-SVN: r211592
2014-06-12 16:47:08 -04:00
Tobias Burnus 8fdcb6a997 gfortran.h (gfc_copy_formal_args_intr): Update prototype.
2014-06-12  Tobias Burnus  <burnus@net-b.de>

        * gfortran.h (gfc_copy_formal_args_intr): Update prototype.
        * symbol.c (gfc_copy_formal_args_intr): Handle the case
        that absent optional arguments should be ignored.
        * trans-intrinsic.c (gfc_get_symbol_for_expr): Ditto.
        (gfc_conv_intrinsic_funcall,
        conv_generic_with_optional_char_arg): Update call.
        * resolve.c (gfc_resolve_intrinsic): Ditto.

From-SVN: r211587
2014-06-12 20:35:00 +02:00
Jeff Law 551a6341d5 re PR tree-optimization/61009 (Incorrect jump threading in dom)
PR tree-optimization/61009
	* tree-ssa-threadedge.c (thread_through_normal_block): Correct return
	value when we stop processing a block due to problematic PHIs.

From-SVN: r211586
2014-06-12 11:12:18 -06:00
Richard Biener f96900140d crontab: Remove 4.7 snapshot entry.
2014-06-12  Richard Biener  <rguenther@suse.de>

        * crontab: Remove 4.7 snapshot entry.
        * update_version_svn: Update IGNORE_BRANCHES.

From-SVN: r211522
2014-06-12 11:57:33 +00:00
Alan Lawrence 5eba099972 [AArch64] Remove from arm_neon.h functions not in the spec
* config/aarch64/arm_neon.h (vmlaq_n_f64, vmlsq_n_f64, vrsrtsq_f64,
	vcge_p8, vcgeq_p8, vcgez_p8, vcgez_u8, vcgez_u16, vcgez_u32, vcgez_u64,
	vcgezq_p8, vcgezq_u8, vcgezq_u16, vcgezq_u32, vcgezq_u64, vcgezd_u64,
	vcgt_p8, vcgtq_p8, vcgtz_p8, vcgtz_u8, vcgtz_u16, vcgtz_u32, vcgtz_u64,
	vcgtzq_p8, vcgtzq_u8, vcgtzq_u16, vcgtzq_u32, vcgtzq_u64, vcgtzd_u64,
	vcle_p8, vcleq_p8, vclez_p8, vclez_u64, vclezq_p8, vclezd_u64, vclt_p8,
	vcltq_p8, vcltz_p8, vcltzq_p8, vcltzd_u64): Remove functions as they are
	not in the spec.

From-SVN: r211503
2014-06-12 10:28:49 +00:00
Alan Lawrence ad7d90cc4c PR/59843 Fix ICE on singleton vector of float on AArch64.
gcc/ChangeLog:

	* config/aarch64/aarch64-modes.def: Add V1DFmode.
	* config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
	Support V1DFmode.

gcc/testsuite/ChangeLog:

	* gcc.dg/vect/vect-singleton_1.c: New file.

From-SVN: r211502
2014-06-12 10:13:11 +00:00
Jan Hubicka 0ab75824c9 utils.c (process_attributes): Pass string pointer directly to set_decl_section_name.
* gcc-interface/utils.c (process_attributes) <ATTR_LINK_SECTION>: Pass
	string pointer directly to set_decl_section_name.

From-SVN: r211501
2014-06-12 09:52:26 +00:00
Eric Botcazou 9c85aeb6b9 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
From-SVN: r211499
2014-06-12 09:40:29 +00:00
Georg-Johann Lay c407027e63 re PR target/61443 ([avr] ICE when varargs argument is indirect addr-space access)
gcc/
	PR target/61443
	* config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
	loading from address spaces.
gcc/testsuite/
	PR target/61443
	* gcc.target/avr/torture/pr61443.c: New test.

From-SVN: r211491
2014-06-12 08:20:35 +00:00
Martin Liska 3c9e6fca81 re PR ipa/61462 (ICE in ipa-prop.c:2562 caused by missing edge gimple call stmt)
PR ipa/61462
	* ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call
	statement is reachable.

From-SVN: r211490
2014-06-12 07:48:23 +00:00
Jan Hubicka f961457f88 symtab.c (section_hash): New hash.
* symtab.c (section_hash): New hash.
	(symtab_unregister_node): Clear section before freeing.
	(hash_section_hash_entry): New haser.
	(eq_sections): New function.
	(symtab_node::set_section_for_node): New method.
	(set_section_1): Update.
	(symtab_node::set_section): Take string instead of tree as parameter.
	(symtab_resolve_alias): Update.
	* cgraph.h (section_hash_entry_d): New structure.
	(section_hash_entry): New typedef.
	(cgraph_node): Change comdat_group_ to x_comdat_group,
	change section_ to x_section and turn into section_hash_entry;
	update accestors; put set_section_for_node offline.
	* tree.c (decl_section_name): Turn into string.
	(set_decl_section_name): Change parameter to be string.
	* tree.h (decl_section_name, set_decl_section_name): Update prototypes.
	* sdbout.c (sdbout_one_type): Update.
	* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Update.
	* varasm.c (IN_NAMED_SECTION, get_named_section, resolve_unique_section,
	hot_function_section, get_named_text_section, USE_SELECT_SECTION_FOR_FUNCTIONS,
	default_function_rodata_section, make_decl_rtl, default_unique_section):
	Update.
	* config/c6x/c6x.c (c6x_in_small_data_p): Update.
	(c6x_elf_unique_section): Update.
	* config/nios2/nios2.c (nios2_in_small_data_p): Update.
	* config/pa/pa.c (pa_function_section): Update.
	* config/pa/pa.h (IN_NAMED_SECTION_P): Update.
	* config/ia64/ia64.c (ia64_in_small_data_p): Update.
	* config/arc/arc.c (arc_in_small_data_p): Update.
	* config/arm/unknown-elf.h (IN_NAMED_SECTION_P): Update.
	* config/mcore/mcore.c (mcore_unique_section): Update.
	* config/mips/mips.c (mips16_build_function_stub): Update.
	(mips16_build_call_stub): Update.
	(mips_function_rodata_section): Update.
	(mips_in_small_data_p): Update.
	* config/score/score.c (score_in_small_data_p): Update.
	* config/rx/rx.c (rx_in_small_data): Update.
	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Update.
	(rs6000_xcoff_asm_named_section): Update.
	(rs6000_xcoff_unique_section): Update.
	* config/frv/frv.c (frv_string_begins_with): Update.
	(frv_in_small_data_p): Update.
	* config/v850/v850.c (v850_encode_data_area): Update.
	* config/bfin/bfin.c (DECL_SECTION_NAME): Update.
	(bfin_handle_l1_data_attribute): Update.
	(bfin_handle_l2_attribute): Update.
	* config/mep/mep.c (mep_unique_section): Update.
	* config/microblaze/microblaze.c (microblaze_elf_in_small_data_p): Update.
	* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): Update.
	(h8300_handle_tiny_data_attribute): Update.
	* config/m32r/m32r.c (m32r_in_small_data_p): Update.
	(m32r_in_small_data_p): Update.
	* config/alpha/alpha.c (alpha_in_small_data_p): Update.
	* config/i386/i386.c (ix86_in_large_data_p): Update.
	* config/i386/winnt.c (i386_pe_unique_section): Update.
	* config/darwin.c (darwin_function_section): Update.
	* config/lm32/lm32.c (lm32_in_small_data_p): Update.
	* tree-emutls.c (get_emutls_init_templ_addr): Update.
	(new_emutls_decl): Update.
	* lto-cgraph.c (lto_output_node, input_node, input_varpool_node,
	input_varpool_node): Update.
	(ead_string_cst): Turn to ...
	(read_string): ... this one.
	* dwarf2out.c (secname_for_decl): Update.
	* asan.c (asan_protect_global): Update.

	* c-family/c-common.c (handle_section_attribute): Update handling for
	section names that are no longer trees.

	* java/class.c (build_utf8_ref): Update handling for section names
	that are no longer trees.
	(emit_register_classes_in_jcr_section): Update.

	* vtable-class-hierarchy.c: Update handling for section names
	that are no longer trees.
	* decl.c (duplicate_decls): Likewise.

	* gcc-interface/utils.c:  Update handling for section names
	that are no longer trees.

From-SVN: r211489
2014-06-12 04:03:49 +00:00
Paolo Carlini e35889871c re PR c++/19200 (Friend declaration misinterpreted as constructor)
/cp
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/19200
	* parser.c (cp_parser_init_declarator): Actually pass friend_p
	to cp_parser_declarator.

/testsuite
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/19200
	* g++.dg/parse/friend11.C: New.

From-SVN: r211488
2014-06-12 01:29:42 +00:00
GCC Administrator 8c80b86b05 Daily bump.
From-SVN: r211487
2014-06-12 00:17:18 +00:00
DJ Delorie 1cf1574dc9 rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte cache lines.
* config/rx/rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte
cache lines.
* config/rx/rx.c (rx_option_override): Likewise.
(rx_align_for_label): Likewise.

From-SVN: r211481
2014-06-11 17:06:31 -04:00
DJ Delorie 1704a72b46 * config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.
From-SVN: r211480
2014-06-11 15:31:11 -04:00
Paolo Carlini c7bb3484a2 re PR c++/60265 ([C++11] using-declaration of enumerator fails if fully qualified)
/cp
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60265
	* parser.c (cp_parser_using_declaration): Handle unscoped enums.
	* name-lookup.c (validate_nonmember_using_decl): Adjust error
	message.

/testsuite
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60265
	* g++.dg/cpp0x/using-enum-1.C: New.
	* g++.dg/cpp0x/using-enum-2.C: Likewise.

From-SVN: r211479
2014-06-11 17:28:14 +00:00
Maciej W. Rozycki 37251385bf mmix-protos.h (mmix_asm_output_source_line): Remove prototype.
* config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove
	prototype.

From-SVN: r211478
2014-06-11 17:20:48 +00:00
Richard Sandiford 8677664e02 common.md: New file.
gcc/
	* common.md: New file.
	* doc/md.texi: Update description of generic, machine-independent
	constraints.
	* config/s390/constraints.md (e): Delete.
	* Makefile.in (md_file): Include common.md.
	* config/m32c/t-m32c (md_file): Likewise.
	* genpreds.c (general_mem): New array.
	(generic_constraint_letters): Remove constraints now defined by
	common.md.
	(add_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
	Allow the first character to be '<' or '>' as well.
	* genoutput.c (general_mem): New array.
	(indep_constraints): Remove constraints now defined by common.md.
	(note_constraint): Map TARGET_MEM_CONSTRAINT to general_mem.
	Remove special handling of 'm'.
	* ira-costs.c (record_reg_classes): Remove special handling of
	constraints now defined by common.md.
	* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
	* ira-lives.c (single_reg_class): Likewise.
	(ira_implicitly_set_insn_hard_regs): Likewise.
	* lra-constraints.c (reg_class_from_constraints): Likewise.
	(process_alt_operands, process_address, curr_insn_transform): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* reload.c (push_secondary_reload, scratch_reload_class)
	(find_reloads, alternative_allows_const_pool_ref): Likewise.
	* reload1.c (maybe_fix_stack_asms): Likewise.
	* targhooks.c (default_secondary_reload): Likewise.
	* stmt.c (parse_output_constraint): Likewise.
	* recog.c (preprocess_constraints): Likewise.
	(constrain_operands, peep2_find_free_register): Likewise.
	(asm_operand_ok): Likewise, but add a comment saying why 'o'
	must be handled specially.

From-SVN: r211475
2014-06-11 16:59:17 +00:00
Richard Sandiford 7fd308cffa system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
gcc/
	* system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.
	* genpreds.c (have_const_dbl_constraints): Delete.
	(add_constraint): Don't set it.
	(write_tm_preds_h): Don't call CONST_DOUBLE_OK_FOR_CONSTRAINT_P.
	* ira-costs.c (record_reg_classes): Handle CONST_INT and CONST_DOUBLE
	constraints using the lookup_constraint logic.
	* ira-lives.c (single_reg_class): Likewise.
	* ira.c (ira_setup_alts): Likewise.
	* lra-constraints.c (process_alt_operands): Likewise.
	* recog.c (asm_operand_ok, constrain_operands): Likewise.
	* reload.c (find_reloads): Likewise.

From-SVN: r211474
2014-06-11 16:59:01 +00:00
Richard Sandiford d9c35eee65 genpreds.c (const_int_start, [...]): New variables.
gcc/
	* genpreds.c (const_int_start, const_int_end): New variables.
	(choose_enum_order): Output CONST_INT constraints before memory
	constraints.
	(write_tm_preds_h): Always define insn_const_int_ok_for_constraint.
	Add CT_CONST_INT.
	* ira-costs.c (record_reg_classes): Handle CT_CONST_INT.
	* ira.c (ira_setup_alts): Likewise.
	* lra-constraints.c (process_alt_operands): Likewise.
	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
	* reload.c (find_reloads): Likewise.

From-SVN: r211473
2014-06-11 16:58:51 +00:00
Richard Sandiford 3c4c42e826 recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok, decmem_ok and incmem_ok.
gcc/
	* recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok,
	decmem_ok and incmem_ok.  Reformat other bitfields for consistency.
	* recog.c (preprocess_constraints): Update accordingly.

From-SVN: r211472
2014-06-11 16:58:43 +00:00
Richard Sandiford 777e635f1a system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
gcc/
	* system.h (REG_CLASS_FROM_CONSTRAINT): Poison.
	(REG_CLASS_FOR_CONSTRAINT, EXTRA_CONSTRAINT_STR): Likewise.
	(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Likewise.
	* genpreds.c (print_type_tree): New function.
	(write_tm_preds_h): Remove REG_CLASS_FROM_CONSTRAINT,
	REG_CLASS_FOR_CONSTRAINT, EXTRA_MEMORY_CONSTRAINT,
	EXTRA_ADDRESS_CONSTRAINT and EXTRA_CONSTRAINT_STR.
	Write out enum constraint_type and get_constraint_type.
	* lra-constraints.c (satisfies_memory_constraint_p): Take a
	constraint_num rather than a constraint string.
	(satisfies_address_constraint_p): Likewise.
	(reg_class_from_constraints): Avoid old constraint macros.
	(process_alt_operands, process_address_1): Likewise.
	(curr_insn_transform): Likewise.
	* ira-costs.c (record_reg_classes): Likewise.
	(record_operand_costs): Likewise.
	* ira-lives.c (single_reg_class): Likewise.
	(ira_implicitly_set_insn_hard_regs): Likewise.
	* ira.c (ira_setup_alts, ira_get_dup_out_num): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
	(constrain_operands, peep2_find_free_register): Likewise.
	* reload.c (push_secondary_reload, scratch_reload_class): Likewise.
	(find_reloads, alternative_allows_const_pool_ref): Likewise.
	* reload1.c (maybe_fix_stack_asms): Likewise.
	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
	* targhooks.c (default_secondary_reload): Likewise.
	* config/m32c/m32c.c (m32c_matches_constraint_p): Avoid reference
	to EXTRA_CONSTRAINT_STR.
	* config/sparc/constraints.md (U): Likewise REG_CLASS_FROM_CONSTRAINT.

From-SVN: r211471
2014-06-11 16:58:35 +00:00
Richard Sandiford 9e6b787414 genpreds.c (write_constraint_satisfied_p_1): Replace with...
gcc/
	* genpreds.c (write_constraint_satisfied_p_1): Replace with...
	(write_constraint_satisfied_p_array): ...this new function.
	(write_tm_preds_h): Replace write_constraint_satisfied_p_1 with
	an array.
	(write_insn_preds_c): Update accordingly.

From-SVN: r211470
2014-06-11 16:58:25 +00:00
Richard Sandiford 16a26e426b genpreds.c (write_lookup_constraint): Rename to...
gcc/
	* genpreds.c (write_lookup_constraint): Rename to...
	(write_lookup_constraint_1): ...this.
	(write_lookup_constraint_array): New function.
	(write_tm_preds_h): Define lookup_constraint as an inline function
	that uses write_lookup_constraint_array where possible.
	(write_insn_preds_c): Update for the changes above.

From-SVN: r211469
2014-06-11 16:58:17 +00:00
Richard Sandiford 2aeedf58e0 md.texi (regclass_for_constraint): Rename to...
gcc/
	* doc/md.texi (regclass_for_constraint): Rename to...
	(reg_class_for_constraint): ...this.
	* genpreds.c (num_constraints, enum_order, register_start)
	(register_end, satisfied_start, memory_start, memory_end)
	(address_start, address_end): New variables.
	(add_constraint): Count the number of constraints.
	(choose_enum_order): New function.
	(write_enum_constraint_num): Iterate over enum_order.
	(write_regclass_for_constraint): Rename to...
	(write_reg_class_for_constraint_1): ...this and update output
	accordingly.
	(write_constraint_satisfied_p): Rename to...
	(write_constraint_satisfied_p_1): ...this and update output
	accordingly.  Do nothing if all extra constraints are register
	constraints.
	(write_insn_extra_memory_constraint): Delete.
	(write_insn_extra_address_constraint): Delete.
	(write_range_function): New function.
	(write_tm_preds_h): Define constraint_satisfied_p and
	reg_class_for_constraint as inline functions that do a range check
	before calling the out-of-line function.  Use write_range_function
	to implement insn_extra_{register,memory,address}_constraint,
	the first of which is new.
	(write_insn_preds_c): Update after above changes to write_* functions.
	(main): Call choose_enum_order.

From-SVN: r211468
2014-06-11 16:58:09 +00:00
Paolo Carlini d0ba67dc04 re PR c++/19200 (Friend declaration misinterpreted as constructor)
/cp
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/19200
	* parser.c (cp_parser_declarator): Add bool parameter.
	(cp_parser_direct_declarator): Likewise, use it.
	(cp_parser_member_declaration): Pass friend_p to cp_parser_declarator.
	(cp_parser_condition, cp_parser_explicit_instantiation,
	cp_parser_init_declarator, cp_parser_type_id_1,
	cp_parser_parameter_declaration, cp_parser_exception_declaration,
	cp_parser_cache_defarg, cp_parser_objc_class_ivars,
	cp_parser_objc_struct_declaration, cp_parser_omp_for_loop_init):
	Adjust.
	* decl.c (grokdeclarator): Fix handling of friend declared in
	namespace scope (g++.dg/parse/friend10.C).

/testsuite
2014-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/19200
	* g++.dg/parse/friend9.C: New.
	* g++.dg/parse/friend10.C: Likewise.
	* g++.dg/parse/friend7.C: Adjust.

From-SVN: r211467
2014-06-11 15:16:45 +00:00
Arnaud Charlet f8c59c0509 [multiple changes]
2014-06-11  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb: Minor reformatting.

2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Clause_Syntax): Add new
	local variable Outputs. Account for the case where multiple
	output items appear as an aggregate.

2014-06-11  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb (Output_Obsolescent_Entity_Warnings): Tag warning
	with ?j? not ??.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* einfo.ads: Minor reformatting.

2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-cbdlli.adb, a-cdlili.adb, a-cidlli.adb, a-crdlli.adb (Insert): Add
	new variable First_Node. Update the position after all insertions have
	taken place to First_Node.

2014-06-11  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Remove debug flag -gnatd.1, no longer needed.
	* layout.adb (Layout_Type): Remove test of -gnatd.1.

From-SVN: r211465
2014-06-11 14:55:03 +02:00
Arnaud Charlet 3e65bfab4a [multiple changes]
2014-06-11  Thomas Quinot  <quinot@adacore.com>

	* freeze.ads: Minor reformatting.
	* checks.adb (Determine_Range): Do not attempt to determine
	the range of a deferred constant whose full view has not been
	seen yet.
	* sem_res.adb (Resolve): Remove undesirable guard against
	resolving expressions from expression functions.

2014-06-11  Robert Dewar  <dewar@adacore.com>

	* debug.adb (Debug_Flag_Dot_1): Set to enable fix for anonymous
	access types.
	* layout.adb (Layout_Type): Make anonymous access types for
	subprogram formal types and return types always thin. For now
	only enabled if -gnatd.1 set.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
	rule for stream attributes of interface types (RM 13.13.2 (38/3)):
	subprogram must be a null procedure.

From-SVN: r211464
2014-06-11 14:50:22 +02:00
Arnaud Charlet 0d305ef004 Minor reformatting.
From-SVN: r211463
2014-06-11 14:48:08 +02:00
Arnaud Charlet a54e3bf051 Code clean up.
From-SVN: r211462
2014-06-11 14:47:45 +02:00
Arnaud Charlet 43bebb1069 Code clean ups.
From-SVN: r211461
2014-06-11 14:47:10 +02:00
Arnaud Charlet 40f4dbbe62 [multiple changes]
2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Input_Item): Allow formal
	parameters to appear as input_items in an initialization_list
	of pragma Initializes. Encapsulation now applies to states and
	variables only (as it should). Add RM references to key errors.
	* sem_prag.adb (Set_Imported): Suppress errors
	about preceding Imports when the pragma does not come from source,
	which can happen through use of pragma Provide_Shift_Operators.

2014-06-11  Thomas Quinot  <quinot@adacore.com>

	* sem_ch3.adb: Minor reformatting.
	* einfo.ads (Full_View): Minor comment update.

From-SVN: r211460
2014-06-11 14:42:28 +02:00
Arnaud Charlet e9daba5169 [multiple changes]
2014-06-11  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, switch-c.adb, sem_prag.adb, a-tgdico.ads, par-prag.adb,
	opt.ads, a-finali.ads, snames.ads-tmpl: Remove all traces of
	pragma/aspects Pure_05 Pure_12 Preelaborate_05.
	* errout.adb (Output_Messages): Avoid duplicate output for
	library level instance.
	* sem_elab.adb (Is_Call_Of_Generic_Formal): Moved to outer level
	(Check_Elab_Call): Add call to Is_Call_Of_Generic_Formal
	* exp_ch4.adb (Expand_N_Op_Expon): New interface for Exp_Modular.
	* s-expmod.ads, s-expmod.adb (Exp_Modular): Change interface to
	accomodate largest modulus value.
	* gnat_ugn.texi: Minor updates.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Instantiate_Package_Body): Do not attempt to
	load body of generic package or its parent, if body is optional
	and the unit does not require a body.

From-SVN: r211459
2014-06-11 14:37:07 +02:00
Robert Dewar f852ffee9a gnat_rm.texi: Document System.Unsigned_Types.
2014-06-11  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document System.Unsigned_Types.
	* impunit.adb: System.Unsigned_Types (s-unstyp.ads) is user accessible.
	* s-unstyp.ads: Update comments (this is now user available unit).

From-SVN: r211458
2014-06-11 14:34:08 +02:00
Arnaud Charlet 9926efec78 [multiple changes]
2014-06-11  Robert Dewar  <dewar@adacore.com>

	* make.adb, sem_res.adb: Minor reformatting.

2014-06-11  Thomas Quinot  <quinot@adacore.com>

	* a-astaco.ads, a-tags.ads, s-excdeb.ads, a-tgdico.ads, a-stmaco.ads,
	a-except-2005.ads, s-except.ads, a-taside.ads, a-dynpri.ads,
	a-chahan.ads, a-sytaco.ads, s-stalib.ads, a-strmap.ads: Change pragmas
	Preelaborate_05 to just Preelaborate in runtime units, and similarly
	change Pure_05 to just Pure.

From-SVN: r211457
2014-06-11 14:31:56 +02:00
Arnaud Charlet dda3871423 [multiple changes]
2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Do not attempt
	analysis if error has been posted on subprogram body.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Stream_TSS_Definition): Apply legality
	rule given in RM 13.1 (8/1) for operational attributes to stream
	attributes: the attribute must apply to a first subtype. Fixes
	missing errors in ACATS test bdd2004.

2014-06-11  Robert Dewar  <dewar@adacore.com>

	* exp_ch3.adb (Build_Record_Init_Proc): Don't build for variant
	record type if restriction No_Implicit_Conditionals is active.
	(Expand_N_Object_Declaration): Don't allow default initialization
	for variant record type if restriction No_Implicit_Condition is active.
	(Build_Variant_Record_Equality): Don't build for variant
	record type if restriction No_Implicit_Conditionals is active.
	* exp_ch4.adb (Expand_N_Op_Eq): Error if variant records with
	No_Implicit_Conditionals.
	* sem_aux.ads, sem_aux.adb (Has_Variant_Part): New function.

2014-06-11  Ramon Fernandez  <fernandez@adacore.com>

	* i-cstrin.ads: Update comments.

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Resolve_Selected_Component): Handle properly a
	selected component whose prefix is overloaded, when none of the
	interpretations matches the expected type.

2014-06-11  Bob Duff  <duff@adacore.com>

	* make.adb (Wait_For_Available_Slot): Give a more
	informative error message; if the ALI file is not found, print
	the full path of what it's looking for.

From-SVN: r211456
2014-06-11 14:29:22 +02:00
Arnaud Charlet 810241a5bf 2014-06-11 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads: add description of gnatstub -W<par>
	option to specify the result file encoding.

2014-06-11  Robert Dewar  <dewar@adacore.com>

	* errout.ads, sem_ch12.adb: Minor reformatting.
	* debug.adb, erroutc.adb: Remove -gnatd.q debug switch.
	* lib-xref.adb: Minor reformatting.
	* restrict.adb: Minor code reorganization (put routines in
	alpha order).

From-SVN: r211455
2014-06-11 14:25:22 +02:00
Arnaud Charlet 2c8d828a5f [multiple changes]
2014-06-11  Yannick Moy  <moy@adacore.com>

	* einfo.ads: Minor typo in comment

2014-06-11  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: New attribute Uninitialized_Variable, for
	formal private types and private type extensions, to indicate
	variable in a generic unit whose uninitialized use suggest that
	actual type should be fully initialized.
	Needs_Initialized_Actual:  removed, functionaity replaced by
	the above.
	* lib-xref.adb (Generate_Reference): Generate a reference for
	variables of a formal type when the unit is not the main unit,
	to enable appropriate warnings in an instance.
	* sem_ch12.adb (Check_Ininialized_Type): Improve warning on use
	of variable in a generic unit that suggests that actual type
	should be full initialized.
	* sem_warn.adb; (May_Need_Initialized_Actual): Make into procedure
	and do not emot warning, which now only appears in an instance.

2014-06-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi: Fix minor typo.

2014-06-11  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb Add with and use clause for Sem_Ch10.
	(Analyze_Declarations): Code reformatting. Analyze the contract
	of a subprogram body stub at the end of the declarative region.
	* sem_ch6.adb (Analyze_Subprogram_Body_Contract): Spec_Id is
	now a variable. Do not process the body if its contract is not
	available. Account for subprogram body stubs when extracting
	the corresponding spec.
	* sem_ch6.ads (Analyze_Subprogram_Contract): Update the comment
	on usage.
	* sem_ch10.ads, sem_ch10.adb (Analyze_Subprogram_Body_Stub_Contract):
	New routine.
	* sem_prag.adb (Analyze_Depends_In_Decl_Part):
	Account for subprogram body stubs when extracting the
	corresponding spec.
	(Analyze_Global_In_Decl_List):
	Account for subprogram body stubs when extracting the
	corresponding spec.
	(Analyze_Refined_Depends_In_Decl_Part):
	Use Find_Related_Subprogram_Or_Body to retrieve the declaration
	of the related body. Spec_Is now a variable. Account for
	subprogram body stubs when extracting the corresponding spec.
	(Analyze_Refined_Global_In_Decl_Part): Use
	Find_Related_Subprogram_Or_Body to retrieve the declaration
	of the related body. Spec_Is now a variable. Account for
	subprogram body stubs when extracting the corresponding spec.
	(Collect_Subprogram_Inputs_Output): Account for subprogram body
	stubs when extracting the corresponding spec.

2014-06-11  Vincent Celier  <celier@adacore.com>

	* gnatcmd.adb (Process_Link): Do not invoke gnatlink with
	-lgnarl or -lgnat.

From-SVN: r211454
2014-06-11 14:22:57 +02:00