aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-06-15c-common.c (handle_tls_model_attribute): Use set_decl_tls_model.Jan Hubicka27-33/+114
* c-family/c-common.c (handle_tls_model_attribute): Use set_decl_tls_model. * cgraph.h (struct varpool_node): Add tls_model. * tree.c (decl_tls_model, set_decl_tls_model): New functions. * tree.h (DECL_TLS_MODEL): Update. (DECL_THREAD_LOCAL_P): Check that variable is static. (decl_tls_model): Declare. (set_decl_tls_model): Declare. * tree-emutls.c (get_emutls_init_templ_addr): First build decl and then set symbol prorperties. (get_emutls_init_templ_addr): Cleanup. (new_emutls_decl): Update. * lto-cgraph.c (lto_output_varpool_node): Stream TLS model (lto_input_varpool_node): Likewise. * lto-streamer-out.c (hash_tree): Likewise. * tree-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Do not stream DECL_TLS_MODEL. * tree-profile.c (init_ic_make_global_vars): Use set_decl_tls_model. * tree-core.h (tree_decl_with_vis): Remove tls_model; update comments. * c-parser.c (c_parser_omp_threadprivate): Likewise. * c-decl.c (merge_decls): Likewise. * decl.c (duplicate_decls): Use set_decl_tls_model. (grokdeclarator): Likewise. * semantics.c (finish_id_expression): Check TLS only for static variables. (finish_omp_threadprivate): Use decl_default_tls_model. * decl2.c (get_guard): Likewise. * call.c (make_temporary_var_for_ref_to_temp): Likewise. * gcc-interface/utils.c (process_attributes): Use set_decl_tls_model. * trans-common.c (build_common_decl): Use set_decl_tls_model. * trans-decl.c (gfc_finish_var_decl): Likewise. (get_proc_pointer_decl): Likewise. * lto.c (compare_tree_sccs_1): Do not compare DECL_TLS_MODEL. From-SVN: r211689
2014-06-15re PR fortran/28484 ([F03] system_clock with real-type count_rate does not ↵Francois-Xavier Coudert10-32/+236
compile) PR fortran/28484 PR fortran/61429 * check.c (gfc_check_system_clock): Improve checking of arguments. * intrinsic.texi: Update doc of SYSTEM_CLOCK. * iresolve.c (gfc_resolve_system_clock): Choose library function used depending on argument kinds. * trans-decl.c (gfc_build_intrinsic_function_decls): Build decls for system_clock_4 and system_clock_8. * trans-intrinsic.c (conv_intrinsic_system_clock): New function. (gfc_conv_intrinsic_subroutine): Call conv_intrinsic_system_clock. * trans.h (gfor_fndecl_system_clock4, gfor_fndecl_system_clock8): New variables. * gfortran.dg/system_clock_1.f90: New file. * gfortran.dg/system_clock_2.f90: New file. From-SVN: r211686
2014-06-15df.h (DF_REF_REG_USE_P, [...]): Remove null checks.Richard Sandiford2-2/+6
gcc/ * df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks. From-SVN: r211684
2014-06-15df.h (df_mw_hardreg, [...]): Add a link pointer.Richard Sandiford7-412/+313
gcc/ * df.h (df_mw_hardreg, df_base_ref): Add a link pointer. (df_insn_info): Turn defs, uses, eq_uses and mw_hardregs into linked lists. (df_scan_bb_info): Likewise artificial_defs and artificial_uses. (DF_REF_NEXT_LOC, DF_MWS_NEXT): New macros. (FOR_EACH_INSN_INFO_DEF, FOR_EACH_INSN_INFO_USE) (FOR_EACH_INSN_INFO_EQ_USE, FOR_EACH_INSN_INFO_MW) (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF) (df_get_artificial_defs, df_get_artificial_uses) (df_single_def, df_single_use): Update accordingly. (df_refs_chain_dump): Take the first element in a linked list as parameter, rather than a pointer to an array of pointers. * df-core.c (df_refs_chain_dump, df_mws_dump): Likewise. * df-problems.c (df_rd_bb_local_compute_process_def): Likewise. (df_chain_create_bb_process_use): Likewise. (df_md_bb_local_compute_process_def): Likewise. * fwprop.c (process_defs, process_uses): Likewise. (register_active_defs, update_uses): Likewise. (forward_propagate_asm): Update for new df_ref linking. * df-scan.c (df_scan_free_ref_vec, df_scan_free_mws_vec): Delete. (df_null_ref_rec, df_null_mw_rec): Likewise. (df_scan_free_internal): Don't free df_ref and df_mw_hardreg lists explicitly. (df_scan_free_bb_info): Remove check for null artificial_defs. (df_install_ref_incremental): Adjust for new df_ref linking. Use a single-element insertion rather than a full sort. (df_ref_chain_delete_du_chain): Take the first element in a linked list as parameter, rather than a pointer to an array of pointers. (df_ref_chain_delete, df_mw_hardreg_chain_delete): Likewise. (df_add_refs_to_table, df_refs_verify, df_mws_verify): Likewise. (df_insn_info_delete): Remove check for null defs and call to df_scan_free_mws_vec. (df_insn_rescan): Initialize df_ref and df_mw_hardreg lists to null rather than df_null_*_rec. (df_insn_rescan_debug_internal): Likewise, and update null checks in the same way. Remove check for null defs. (df_ref_change_reg_with_loc_1): Fix choice of list for defs. Move a single element rather doing a full sort. (df_mw_hardreg_chain_delete_eq_uses): Adjust for new df_mw_hardreg linking. (df_notes_rescan): Likewise. Use a merge rather than a full sort. Initialize df_ref and df_mw_hardreg lists to null rather than df_null_*_rec. (df_ref_compare): Take df_refs as parameter, transferring the old interface to... (df_ref_ptr_compare): ...this new function. (df_sort_and_compress_refs): Update accordingly. (df_mw_compare): Take df_mw_hardregs as parameter, transferring the old interface to... (df_mw_ptr_compare): ...this new function. (df_sort_and_compress_mws): Update accordingly. (df_install_refs, df_install_mws): Return a linked list rather than an array of pointers. (df_refs_add_to_chains): Assert that old lists are empty rather than freeing them. (df_insn_refs_verify): Don't handle null defs speciailly. * web.c (union_match_dups): Update for new df_ref linking. From-SVN: r211683
2014-06-15df.h (df_ref_create, [...]): Delete.Richard Sandiford3-116/+6
gcc/ * df.h (df_ref_create, df_ref_remove): Delete. * df-scan.c (df_ref_create, df_ref_compress_rec): Likewise. (df_ref_remove): Likewise. From-SVN: r211682
2014-06-15df.h (df_single_def, [...]): New functions.Richard Sandiford3-12/+35
gcc/ * df.h (df_single_def, df_single_use): New functions. * ira.c (find_moveable_pseudos): Use them. From-SVN: r211681
2014-06-15df.h (FOR_EACH_INSN_INFO_MW): New macro.Richard Sandiford4-60/+49
gcc/ * df.h (FOR_EACH_INSN_INFO_MW): New macro. * df-problems.c (df_note_bb_compute): Use it. * regstat.c (regstat_bb_compute_ri): Likewise. From-SVN: r211680
2014-06-15df.h (FOR_EACH_ARTIFICIAL_USE, [...]): New macros.Richard Sandiford8-243/+171
gcc/ * df.h (FOR_EACH_ARTIFICIAL_USE, FOR_EACH_ARTIFICIAL_DEF): New macros. * cse.c (cse_extended_basic_block): Use them. * dce.c (mark_artificial_use): Likewise. * df-problems.c (df_rd_simulate_artificial_defs_at_top): Likewise. (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise. (df_chain_remove_problem, df_chain_bb_dump): Likewise. (df_word_lr_bb_local_compute, df_note_bb_compute): Likewise. (df_simulate_initialize_backwards): Likewise. (df_simulate_finalize_backwards): Likewise. (df_simulate_initialize_forwards): Likewise. (df_md_simulate_artificial_defs_at_top): Likewise. * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise. * regrename.c (init_rename_info): Likewise. * regstat.c (regstat_bb_compute_ri): Likewise. (regstat_bb_compute_calls_crossed): Likewise. From-SVN: r211679
2014-06-15df.h (DF_INSN_INFO_MWS, [...]): New macros.Richard Sandiford28-666/+540
gcc/ * df.h (DF_INSN_INFO_MWS, FOR_EACH_INSN_INFO_DEF): New macros. (FOR_EACH_INSN_INFO_USE, FOR_EACH_INSN_INFO_EQ_USE): Likewise. (FOR_EACH_INSN_DEF, FOR_EACH_INSN_USE, FOR_EACH_INSN_EQ_USE): Likewise. * auto-inc-dec.c (find_inc, merge_in_block): Use them. * combine.c (create_log_links): Likewise. * compare-elim.c (find_flags_uses_in_insn): Likewise. (try_eliminate_compare): Likewise. * cprop.c (make_set_regs_unavailable, mark_oprs_set): Likewise. * dce.c (deletable_insn_p, find_call_stack_args): Likewise. (remove_reg_equal_equiv_notes_for_defs): Likewise. (reset_unmarked_insns_debug_uses, mark_reg_dependencies): Likewise. (word_dce_process_block, dce_process_block): Likewise. * ddg.c (def_has_ccmode_p): Likewise. * df-core.c (df_bb_regno_first_def_find): Likewise. (df_bb_regno_last_def_find, df_find_def, df_find_use): Likewise. * df-problems.c (df_rd_simulate_one_insn): Likewise. (df_lr_bb_local_compute, df_live_bb_local_compute): Likewise. (df_chain_remove_problem, df_chain_insn_top_dump): Likewise. (df_chain_insn_bottom_dump, df_word_lr_bb_local_compute): Likewise. (df_word_lr_simulate_defs, df_word_lr_simulate_uses): Likewise. (df_remove_dead_eq_notes, df_note_bb_compute): Likewise. (df_simulate_find_defs, df_simulate_find_uses): Likewise. (df_simulate_find_noclobber_defs, df_simulate_defs): Likewise. (df_simulate_uses, df_md_simulate_one_insn): Likewise. * df-scan.c (df_reorganize_refs_by_reg_by_insn): Likewise. * fwprop.c (local_ref_killed_between_p): Likewise. (all_uses_available_at, free_load_extend): Likewise. * gcse.c (update_bb_reg_pressure, calculate_bb_reg_pressure): Likewise. * hw-doloop.c (scan_loop): Likewise. * ifcvt.c (dead_or_predicable): Likewise. * init-regs.c (initialize_uninitialized_regs): Likewise. * ira-lives.c (mark_hard_reg_early_clobbers): Likewise. (process_bb_node_lives): Likewise. * ira.c (compute_regs_asm_clobbered, build_insn_chain): Likewise. (find_moveable_pseudos): Likewise. * loop-invariant.c (check_dependencies, record_uses): Likewise. * recog.c (peep2_find_free_register): Likewise. * ree.c (get_defs): Likewise. * regstat.c (regstat_bb_compute_ri): Likewise. (regstat_bb_compute_calls_crossed): Likewise. * sched-deps.c (find_inc, find_mem): Likewise. * sel-sched-ir.c (maybe_downgrade_id_to_use): Likewise. (maybe_downgrade_id_to_use, setup_id_reg_sets): Likewise. * shrink-wrap.c (requires_stack_frame_p): Likewise. (prepare_shrink_wrap): Likewise. * store-motion.c (compute_store_table, build_store_vectors): Likewise. * web.c (union_defs, pass_web::execute): Likewise. * config/i386/i386.c (increase_distance, insn_defines_reg): Likewise. (insn_uses_reg_mem, ix86_ok_to_clobber_flags): Likewise. From-SVN: r211678
2014-06-15Daily bump.GCC Administrator1-1/+1
From-SVN: r211676
2014-06-14re PR c++/33101 ([DR 577] allow typedefs for void in empty parameter list)Paolo Carlini6-7/+36
/cp 2014-06-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/33101 * decl.c (grokparms): Improve error message about void parameters. * error.c (type_to_string): Fix aka cut off code. /testsuite 2014-06-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/33101 * g++.dg/other/void3.C: New. * g++.dg/conversion/err-recover1.C: Update. From-SVN: r211673
2014-06-14re PR ada/61505 (bootstrap broken by ada/gnat_rm.texi after r211448)Bernd Edlinger2-146/+154
2014-06-14 Bernd Edlinger <bernd.edlinger@hotmail.de> PR ada/61505 * gnat_rm.texi: Fix errors with makeinfo 5.1. From-SVN: r211667
2014-06-14re PR ada/61505 (bootstrap broken by ada/gnat_rm.texi after r211448)Arnaud Charlet2-3/+5
PR ada/61505 * gnat_rm.texi: Attempt to fix error with makeinfo 5.1 From-SVN: r211665
2014-06-14Daily bump.GCC Administrator1-1/+1
From-SVN: r211661
2014-06-13re PR go/61496 (Many Go tests FAIL with ld warning about go$zerovalue)Ian Lance Taylor2-0/+16
PR go/61496 * gospec.c (lang_specific_driver): On Solaris, when not using GNU ld, add -t option to avoid warning about common symbol changing size. From-SVN: r211658
2014-06-13lra-assign.c (assign_by_spills): Add code to assign vector regs to ↵Vladimir Makarov3-1/+32
inheritance pseudos. 2014-06-13 Vladimir Makarov <vmakarov@redhat.com> * lra-assign.c (assign_by_spills): Add code to assign vector regs to inheritance pseudos. * config/i386/i386.c (ix86_spill_class): Add check on NO_REGS. From-SVN: r211655
2014-06-13re PR testsuite/61415 (PowerPC test gcc.target/powerpc/tfmode_off.c fails if ↵Peter Bergner11-42/+58
-mlong-double-64) gcc/ PR target/61415 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete. (BU_MISC_2): Rename to ... (BU_LDBL128_2): ... this. * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define. (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle RS6000_BTM_LDBL128. (rs6000_invalid_builtin): Add long double 128-bit builtin support. (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128. * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand. (unpacktf_1): Likewise. * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation. (__builtin_longdouble_dw1): Likewise. * doc/sourcebuild.texi (longdouble128): Document. gcc/testsuite/ PR target/61415 * lib/target-supports.exp (check_effective_target_longdouble128): New. * gcc.target/powerpc/pack02.c: Use it. * gcc.target/powerpc/tfmode_off.c: Likewise. From-SVN: r211653
2014-06-13[multiple changes]Jeff Law4-4/+34
2014-06-13 Jeff Law <law@redhat.com> PR rtl-optimization/61094 PR rtl-optimization/61446 * ree.c (combine_reaching_defs): Get the mode for the copy from the extension insn rather than the defining insn. 2014-06-13 Ilya Enkovich <ilya.enkovich@intel.com> PR rtl-optimization/61094 PR rtl-optimization/61446 * gcc.target/i386/pr61446.c : New. From-SVN: r211649
2014-06-13Emit linkage names for inlined functions.Dehao Chen4-3/+10
* dwarf2out.c (add_linkage_name): Emit more linkage name. * g++.dg/debug/dwarf2/cdtor-1.C: Update test result. From-SVN: r211647
2014-06-13Non-host system configuration for linker plugins.Thomas Schwinge2-0/+24
* configure.ac (--enable-linker-plugin-configure-flags) (--enable-linker-plugin-flags): New flags. (configdirs): Conditionally add libiberty-linker-plugin. * configure: Regenerate. * Makefile.def (host_modules): Add libiberty-linker-plugin. (host_modules) <lto-plugin>: Pay attention to @extra_linker_plugin_flags@ and @extra_linker_plugin_configure_flags@. (all-lto-plugin): Also depend on all-libiberty-linker-plugin. * Makefile.in: Regenerate. gcc/ * doc/install.texi (--enable-linker-plugin-configure-flags) (--enable-linker-plugin-flags): Document new flags. From-SVN: r211644
2014-06-13re PR ipa/61186 (./g++.dg/ipa/pr52939.C & valgrind & pointer_set_insert)Martin Jambor2-0/+12
2014-06-13 Martin Jambor <mjambor@suse.cz> PR ipa/61186 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to cache_token if returning early. From-SVN: r211641
2014-06-13rx.h (JUMP_ALIGN): Return the log value if user requested alignment is active.Nick Clifton2-3/+10
* config/rx/rx.h (JUMP_ALIGN): Return the log value if user requested alignment is active. (LABEL_ALIGN): Likewise. (LOOP_ALIGN): Likewise. From-SVN: r211638
2014-06-13gcc.dg/vect/vect-singleton_1.c: Remove duplicate of test body.Alan Lawrence2-38/+4
From-SVN: r211635
2014-06-13[multiple changes]Arnaud Charlet5-8/+162
2014-06-13 Yannick Moy <moy@adacore.com> * exp_attr.adb Typo in comment. * gnat1drv.adb (Adjust_Global_Switches): Force float overflow checking in GNATprove_Mode. 2014-06-13 Ed Schonberg <schonberg@adacore.com> * a-coinho-shared.adb, a-coinho-shared.ads: Update shared version. From-SVN: r211629
2014-06-13sem_ch3.adb, [...]: Minor reformatting.Robert Dewar5-25/+39
2014-06-13 Robert Dewar <dewar@adacore.com> * sem_ch3.adb, sem_ch9.adb, a-coinho.adb, a-coinho.ads: Minor reformatting. From-SVN: r211628
2014-06-13[multiple changes]Arnaud Charlet10-64/+437
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Pragma): Add local variable Missing_Parentheses. Emit an error when a state declaration with options appears without parentheses. Add a guard to prevent a bogus error when a state declaration may be interpreted as an option if a previous declaration with options was not parenthesized. 2014-06-13 Robert Dewar <dewar@adacore.com> * checks.adb: Validate_Alignment_Check_Warnings: New procedure (Apply_Address_Clause_Check): Make Aligment_Warnings table entry. * checks.ads (Alignment_Warnings_Record): New type. (Alignment_Warnings): New table (Validate_Alignment_Check_Warnings): New procedure. * errout.adb (Delete_Warning_And_Continuations): New procedure (Error_Msg_Internal): Set Warning_Msg (Delete_Warning): Handle Warnings_Treated_As_Errors (Finalize): Minor reformatting * errout.ads (Warning_Msg): New variable (Delete_Warning_And_Continuations): New procedure * erroutc.adb (Delete_Msg): Handle Warnings_Treated_As_Errors count. * gnat1drv.adb (Post_Compilation_Validation_Checks): New procedure. 2014-06-13 Ed Schonberg <schonberg@adacore.com> * a-coinho.adb, a-coinho.ads: Add Reference machinery. From-SVN: r211627
2014-06-13[multiple changes]Arnaud Charlet7-615/+377
2014-06-13 Hristian Kirtchev <kirtchev@adacore.com> * errout.adb (SPARK_Msg_N): New routine. (SPARK_Msg_NE): New routine. * errout.ads Add a section on SPARK-related error routines. (SPARK_Msg_N): New routine. (SPARK_Msg_NE): New routine. * sem_ch13.adb (Analyze_Aspect_Specifications): Ensure that pragma Abstract_State is always inserted after SPARK_Mode. (Insert_After_SPARK_Mode): New routine. * sem_prag.adb (Analyze_Abstract_State, Analyze_Constituent, Analyze_External_Property, Analyze_External_Property_In_Decl_Part, Analyze_Global_Item, Analyze_Global_List, Analyze_Initialization_Item, Analyze_Initialization_Item_With_Inputs, Analyze_Input_Item, Analyze_Input_List, Analyze_Input_Output, Analyze_Part_Of, Analyze_Pragma, Analyze_Refined_Depends_In_Decl_Part, Analyze_Refined_Global_In_Decl_Part, Analyze_Refined_State_In_Decl_Part, Analyze_Refinement_Clause, Check_Aspect_Specification_Order, Check_Constituent_Usage, Check_Declaration_Order, Check_Dependency_Clause, Check_Duplicate_Mode, Check_Duplicate_Option, Check_Duplicate_Property, Check_External_Properties, Check_External_Property, Check_Function_Return, Check_Matching_Constituent, Check_Matching_State, Check_Mode_Restriction_In_Enclosing_Context, Check_Mode_Restriction_In_Function, Check_Refined_Global_Item, Check_State_And_Constituent_Use, Create_Or_Modify_Clause, Has_Extra_Parentheses, Inconsistent_Mode_Error, Match_Error, Propagate_Part_Of, Report_Extra_Clauses, Report_Extra_Constituents_In_List, Report_Extra_Inputs, Report_Unrefined_States, Report_Unused_Constituents, Report_Unused_States, Role_Error, Usage_Error): Convert Error_Msg_XXX calls to SPARK_Msg_XXX calls to report semantic errors only when SPARK_Mode is on. (Analyze_Depends_In_Decl_Part): Do not check the syntax of pragma Depends explicitly, this is now done by the analysis. (Analyze_Global_In_Decl_List): Do not check the syntax of pragma Global explicitly, this is now done by the analysis. (Analyze_Initializes_In_Decl_Part): Do not check the syntax of pragma Initializes explicitly, this is now done by the analysis. (Analyze_Part_Of): Do not check the syntax of the encapsulating state, this is now done by the analysis. (Analyze_Pragma): Do not check the syntax of a state declaration, this is now done by the analysis. (Analyze_Refined_Depends_In_Decl_Part): Do not check the syntax of pragma Refined_Depends explicitly, this is now done by the analysis. (Analyze_Refined_Global_In_Decl_Part): Do not check the syntax of pragma Refined_Global explicitly, this is now done by the analysis. (Analyze_Refined_State_In_Decl_Part): Do not check the syntax of pragma Refined_State explicitly, this is now done by the analysis. (Check_Dependence_List_Syntax): Removed. (Check_Global_List_Syntax): Removed. (Check_Initialization_List_Syntax): Removed. (Check_Item_Syntax): Removed. (Check_Missing_Part_Of): Do not consider items from an instance. (Check_Refinement_List_Syntax): Removed. (Check_State_Declaration_Syntax): Removed. (Collect_Global_List): Do not raise Program_Error when the input is malformed. (Process_Global_List): Do not raise Program_Error when the input is malformed. * sem_ch13.adb: Minor reformatting. 2014-06-13 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Find_Type_Name): Diagnose a private type completion that is an interface definition with an interface list. (Process_Full_View): Move error message on missmatched interfaces between views to the declaration of full view, for clarity. * sem_ch9.adb (Check_Interfaces): Move error message to full view, for clarity. From-SVN: r211626
2014-06-13tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Rewrite to ↵Richard Biener11-334/+383
propagate the VN result into all uses where possible and to remove... 2014-06-13 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Rewrite to propagate the VN result into all uses where possible and to remove stmts becoming dead because of that. (eliminate): Generalize stmt removal handling, remove in reverse dominator order to support proper debug stmt generation. Update stmts before removing stmts. * tree-ssa-propagate.c (propagate_tree_value): Remove bogus assert. * c-c++-common/pr46562-2.c: Adjust. * g++.dg/tree-ssa/pr8781.C: Likewise. * gcc.dg/tree-ssa/ssa-fre-24.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-25.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-32.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-39.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-16.c: Likewise. From-SVN: r211625
2014-06-13[multiple changes]Arnaud Charlet6-274/+192
2014-06-13 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Pred/Succ): Change reason to Overflow. 2014-06-13 Robert Dewar <dewar@adacore.com> * makeutl.adb: Minor reformatting. 2014-06-13 Gail Schenker <schenker@adacore.com> * debug.adb, sem_eval.adb (Why_Not_Static): Remove temporary code and associated flag (d.z), no longer needed. 2014-06-13 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Analyze_Aspect_Specifications): For Import and Export aspects, do not check whether a corresponding Convention aspect has been specified. Convention is optional in Ada2012, and defaults to Convention_Ada. From-SVN: r211624
2014-06-13[multiple changes]Arnaud Charlet11-25/+124
2014-06-13 Eric Botcazou <ebotcazou@adacore.com> * checks.adb (Apply_Address_Clause_Check): Only issue the new warning if the propagation warning is issued. 2014-06-13 Thomas Quinot <quinot@adacore.com> * exp_ch4.adb: Minor reformatting. 2014-06-13 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case Pred): Handle float range check case (Expand_N_Attribute_Reference, case Succ): Handle float range check case. * sem_attr.adb (Analyze_Attribute, case Pred/Succ): Handle float range check case. 2014-06-13 Vincent Celier <celier@adacore.com> * makeutl.ads (Compute_Builder_Switches): Change name of parameter Root_Environment to Env. * prj-conf.adb (Check_Switches): Call Locate_Runtime with the Env parameter of procedure Get_Or_Create_Configuration_File. (Locate_Runtime): Call Find_Rts_In_Path with the Project_Path of new parameter Env. * prj-conf.ads (Locate_Runtime): New parameter Env of type Prj.Tree.Environment. 2014-06-13 Robert Dewar <dewar@adacore.com> * gnat_rm.texi: Minor comment clarification for Check_Float_Overflow. From-SVN: r211623
2014-06-13exp_attr.adb, [...]: Minor reformatting.Robert Dewar7-112/+96
2014-06-13 Robert Dewar <dewar@adacore.com> * exp_attr.adb, exp_ch9.adb, lib-writ.adb, g-comlin.adb: Minor reformatting. * sem_attr.adb: Minor code reformatting and simplification. * checks.adb: Fix minor typo. From-SVN: r211622
2014-06-13[multiple changes]Arnaud Charlet4-20/+36
2014-06-13 Emmanuel Briot <briot@adacore.com> * g-comlin.adb (Get_Argument): fix expansion of command line arguments (e.g. "*.adb") when using a custom parser. The parser was not passed to the recursive call, and thus we were trying to do the expansion on the default command line parser. 2014-06-13 Thomas Quinot <quinot@adacore.com> * exp_ch9.adb: Minor reformatting. 2014-06-13 Ed Schonberg <schonberg@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case 'Old): To determine whether the attribute should be expanded, examine whether the enclosing postcondition pragma is to be checked, rather than using the internal flag Assertions_Enabled. From-SVN: r211621
2014-06-13[multiple changes]Arnaud Charlet6-40/+27
2014-06-13 Ben Brosgol <brosgol@adacore.com> * gnat_rm.texi: Minor fixes. * gnat_ugn.texi: Added a missing "@itemize". 2014-06-13 Robert Dewar <dewar@adacore.com> * debug.adb: Remove -gnatd.1 flag documentation. * layout.adb (Layout_Type): Remove special handling of size for anonymous access type. * sem_ch3.adb (Replace_Type): Remove special handling of size for anonymous access type. From-SVN: r211620
2014-06-13debug.adb: Document debug flag -gnatd.1.Robert Dewar4-3/+42
2014-06-13 Robert Dewar <dewar@adacore.com> * debug.adb: Document debug flag -gnatd.1. * layout.adb (Layout_Type): Size change for anonymous access types under -gnatd.1. * sem_ch3.adb (Replace_Type): Size change for anonymous access types under -gnatd.1. From-SVN: r211619
2014-06-13[multiple changes]Arnaud Charlet4-60/+77
2014-06-13 Robert Dewar <dewar@adacore.com> * layout.adb (Layout_Type): Anonymous access types designating unconstrained arrays are always thin pointers. * sem_ch3.adb (Replace_Type): Anonymous access types designating unconstrained arrays are always thin pointers. 2014-06-13 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute): Use Check_Parameterless_Call to resolve the prefix of an attribute that is an entity name and may be a parameterless call. Minor code reorganization. From-SVN: r211618
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