aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-06-13lib.ads, [...] (Is_Compiler_Unit): Removed.Robert Dewar15-50/+94
2014-06-13 Robert Dewar <dewar@adacore.com> * lib.ads, lib.adb, lib-writ.adb, lib-load.adb (Is_Compiler_Unit): Removed. * opt.ads (Compiler_Unit): New flag. * par-ch5.adb (Test_Statement_Required): Call Check_Compiler_Unit for null statement sequence (not allowed in compiler unit). * par-prag.adb (Prag): Handle Compiler_Unit[_Warning] during parsing. * restrict.ads, restrict.adb (Check_Compiler_Unit): New version and new calling sequence. * sem_ch11.adb, sem_ch3.adb, sem_ch4.adb: New calling sequence for Check_Compiler_Unit. * sem_ch6.adb (Analyze_Extended_Return_Statement): Call Check_Compiler_Unit (this construct is not allowed in compiler units). * sem_prag.adb (Analyze_Pragma, case Compiler_Unit[_Warning]): Set Opt.Compiler_Unit. From-SVN: r211617
2014-06-13[multiple changes]Arnaud Charlet12-65/+85
2014-06-13 Geert Bosch <bosch@adacore.com> * gnat_rm.texi, s-tasinf-solaris.ads, sem_prag.adb, gnat_ugn.texi, s-tasinf-mingw.ads, s-tasinf.ads, s-tasinf-linux.ads, s-tasinf-vxworks.ads: Make Task_Info pragma and package obsolescent. 2014-06-13 Robert Dewar <dewar@adacore.com> * s-tasini.adb, s-tarest.adb, s-taprob.adb: Minor reformatting. From-SVN: r211616
2014-06-13freeze.adb (Freeze_Entity): Remove the check concerning volatile types in ↵Hristian Kirtchev3-8/+16
SPARK as it is poorly placed and... 2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> * freeze.adb (Freeze_Entity): Remove the check concerning volatile types in SPARK as it is poorly placed and poorly formulated. The check was flagging ALL volatile entities as illegal in SPARK. * sem_prag.adb (Process_Atomic_Shared_Volatile): Flag volatile types as illegal in SPARK. From-SVN: r211615
2014-06-13[multiple changes]Arnaud Charlet10-22/+176
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[multiple changes]Arnaud Charlet7-36/+70
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[multiple changes]Arnaud Charlet8-61/+79
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[multiple changes]Arnaud Charlet4-13/+36
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[multiple changes]Arnaud Charlet10-92/+283
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-13re PR tree-optimization/61375 (ICE in int_cst_value at -O3 in tree-ssa pass ↵Thomas Preud'homme4-0/+51
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-13Daily bump.GCC Administrator1-1/+1
From-SVN: r211603
2014-06-12symtab.c (symtab_node::reset_section): New method.Jan Hubicka7-19/+57
* 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-12tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Reorg to use symtab ↵Jan Hubicka3-12/+45
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-12re PR middle-end/61486 (ICE with #pragma omp teams)Jakub Jelinek8-5/+521
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-12Support -Wabi warning about backward compatibility.Jason Merrill22-134/+326
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* common.opt (fabi-version): Change default to 0.Jason Merrill2-1/+6
From-SVN: r211593
2014-06-12toplev.c (process_options): Reject -fabi-version=1.Jason Merrill35-815/+135
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-12gfortran.h (gfc_copy_formal_args_intr): Update prototype.Tobias Burnus5-8/+38
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-12re PR tree-optimization/61009 (Incorrect jump threading in dom)Jeff Law2-2/+11
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[AArch64] Remove from arm_neon.h functions not in the specAlan Lawrence2-315/+11
* 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-12PR/59843 Fix ICE on singleton vector of float on AArch64.Alan Lawrence5-1/+91
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-12utils.c (process_attributes): Pass string pointer directly to ↵Jan Hubicka2-4/+4
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* tree-core.h (DECL_NONALIASED): Use proper spelling in comment.Eric Botcazou2-4/+8
From-SVN: r211499
2014-06-12re PR target/61443 ([avr] ICE when varargs argument is indirect addr-space ↵Georg-Johann Lay4-0/+154
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-12re PR ipa/61462 (ICE in ipa-prop.c:2562 caused by missing edge gimple call stmt)Martin Liska2-10/+30
PR ipa/61462 * ipa-prop.c (ipa_make_edge_direct_to_target): Check that gimple call statement is reachable. From-SVN: r211490
2014-06-12symtab.c (section_hash): New hash.Jan Hubicka46-148/+291
* 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-12re PR c++/19200 (Friend declaration misinterpreted as constructor)Paolo Carlini4-5/+19
/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-12Daily bump.GCC Administrator1-1/+1
From-SVN: r211487
2014-06-11rx.h (FUNCTION_BOUNDARY): Adjust for RX100/200 4-byte cache lines.DJ Delorie3-5/+14
* 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* config/rx/rx.c (rx_max_skip_for_label): Don't skip anything if -Os.DJ Delorie2-0/+7
From-SVN: r211480
2014-06-11re PR c++/60265 ([C++11] using-declaration of enumerator fails if fully ↵Paolo Carlini6-1/+56
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-11mmix-protos.h (mmix_asm_output_source_line): Remove prototype.Maciej W. Rozycki2-1/+5
* config/mmix/mmix-protos.h (mmix_asm_output_source_line): Remove prototype. From-SVN: r211478
2014-06-11common.md: New file.Richard Sandiford18-697/+209
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-11system.h (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Poison.Richard Sandiford9-188/+18
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-11genpreds.c (const_int_start, [...]): New variables.Richard Sandiford7-2/+68
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-11recog.h (operand_alternative): Remove offmem_ok, nonffmem_ok, decmem_ok and ↵Richard Sandiford3-25/+11
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-11system.h (REG_CLASS_FROM_CONSTRAINT): Poison.Richard Sandiford15-288/+350
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-11genpreds.c (write_constraint_satisfied_p_1): Replace with...Richard Sandiford2-24/+21
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-11genpreds.c (write_lookup_constraint): Rename to...Richard Sandiford2-4/+52
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-11md.texi (regclass_for_constraint): Rename to...Richard Sandiford3-73/+153
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-11re PR c++/19200 (Friend declaration misinterpreted as constructor)Paolo Carlini7-27/+95
/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[multiple changes]Arnaud Charlet11-52/+132
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[multiple changes]Arnaud Charlet7-62/+108
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-11Minor reformatting.Arnaud Charlet2-4/+5
From-SVN: r211463
2014-06-11Code clean up.Arnaud Charlet1-2/+18
From-SVN: r211462
2014-06-11Code clean ups.Arnaud Charlet2-5/+30
From-SVN: r211461
2014-06-11[multiple changes]Arnaud Charlet4-92/+191
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[multiple changes]Arnaud Charlet16-366/+122
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-11gnat_rm.texi: Document System.Unsigned_Types.Robert Dewar4-3/+23
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[multiple changes]Arnaud Charlet16-29/+37
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[multiple changes]Arnaud Charlet10-40/+220
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