aboutsummaryrefslogtreecommitdiff
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-15re PR libfortran/60468 (./fpu-target.h:93:3: error: unknown type name 'choke')Francois-Xavier Coudert3-6/+31
PR libfortran/60468 * configure.ac: Include <math.h> when checking for fp_except_t and fp_rnd_t types. * configure: Regenerate. From-SVN: r211685
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-14any (any_cast): Combine duplicate doxygen comments.Jonathan Wakely6-80/+37
* include/experimental/any (any_cast): Combine duplicate doxygen comments. * include/experimental/string_view (basic_string_view): Update doxygen comment. * include/std/bitset (bitset): Move to Doxygen 'utilities' group. * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates. (dynamic_bitset): Improve Doxygen comments. * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen comment. From-SVN: r211672
2014-06-14api.xml: Link to more recent API docs.Jonathan Wakely20-33/+83
* doc/xml/api.xml: Link to more recent API docs. * include/bits/allocator.h: Fix link in doxygen comment. * include/bits/char_traits.h: Likewise. * include/bits/ios_base.h: Likewise. * include/bits/stl_map.h: Likewise. * include/bits/stl_multimap.h: Likewise. * include/bits/stl_multiset.h: Likewise. * include/bits/stl_set.h: Likewise. * include/bits/unordered_map.h: Likewise. * include/bits/unordered_set.h: Likewise. * include/ext/mt_allocator.h: Likewise. * include/std/fstream: Likewise. * include/std/iosfwd: Likewise. * include/std/ostream: Likewise. * include/std/sstream: Likewise. * include/std/streambuf: Likewise. * doc/html/*: Regenerate. From-SVN: r211671
2014-06-14user.cfg.in (INPUT): Add C++14 headers.Jonathan Wakely9-41/+55
* doc/doxygen/user.cfg.in (INPUT): Add C++14 headers. * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen warnings. * include/bits/shared_ptr.h (shared_ptr): Likewise. * include/bits/unordered_map.h (unordered_map, unordered_multimap): Likewise. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. * include/parallel/list_partition.h (__parallel::list_partition): Likewise. * include/std/iomanip (quoted): Likewise. * include/tr2/dynamic_bitset (dynamic_bitset): Likewise. From-SVN: r211670
2014-06-14status_cxx2014.xml: Update Fundamentals TS status.Jonathan Wakely17-2/+1268
* doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/experimental/any: New. * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New constructor. * testsuite/experimental/any/assign/1.cc: New. * testsuite/experimental/any/assign/2.cc: New. * testsuite/experimental/any/cons/1.cc: New. * testsuite/experimental/any/cons/2.cc: New. * testsuite/experimental/any/cons/3.cc: New. * testsuite/experimental/any/misc/any_cast.cc: New. * testsuite/experimental/any/misc/any_cast_neg.cc: New. * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New. * testsuite/experimental/any/misc/swap.cc: New. * testsuite/experimental/any/modifiers/1.cc: New. * testsuite/experimental/any/observers/type.cc: New. From-SVN: r211669
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-14dg-extract-results.py: For Python 3, force sys.stdout to handle surrogate ↵Richard Sandiford2-2/+22
escape sequences. contrib/ * dg-extract-results.py: For Python 3, force sys.stdout to handle surrogate escape sequences. (safe_open): New function. (output_segment, main): Use it. From-SVN: r211666
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-13* config-ml.in: Robustify ac_configure_args parsing.Thomas Schwinge2-30/+40
From-SVN: r211645
2014-06-13Non-host system configuration for linker plugins.Thomas Schwinge7-37/+1133
* 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-13Allow for overriding a module's srcdir.Thomas Schwinge3-1059/+1167
* Makefile.tpl (configure-[+prefix+][+module+]) (configure-stage[+id+]-[+prefix+][+module+]): If specified, use "module_srcdir" instead of "module" for locating a module's srcdir. * Makefile.in: Regenerate. From-SVN: r211643
2014-06-13Allow overriding the libiberty used for building the LTO plugin.Thomas Schwinge5-31/+64
lto-plugin/ * configure.ac (--with-libiberty): New configure option. * configure: Regenerate. * Makefile.am (libiberty, libiberty_noasan, libiberty_pic): New variables. (liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS) (liblto_plugin_la_DEPENDENCIES): Use them. * Makefile.in: Regenerate. From-SVN: r211642
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-13re PR go/52583 (Several new go testsuite failues on Solaris)Ian Lance Taylor1-0/+26
PR go/52583 runtime: Stop backtrace at a few recognized functions. On x86_64 Solaris the makecontext function does not properly indicate that it is at the top of the stack. Attempting to unwind the stack past a call to makecontext tends to crash. This patch changes libgo to look for certain functions that are always found at the top of the stack, and to stop unwinding when it reaches one of those functions. There is never anything interesting past these functions--that is, there is never any code written by the user. From-SVN: r211640
2014-06-13re PR go/61498 (Many 64-bit Go tests SEGV in scanblock)Ian Lance Taylor1-5/+2
PR go/61498 runtime: Always set gcnext_sp to pointer-aligned address. The gcnext_sp field is only used on systems that do not use split stacks. It marks the bottom of the stack for the garbage collector. This change makes sure that the stack bottom is always aligned to a pointer value. Previously the garbage collector would align all the addresses that it scanned, but it now expects them to be aligned before scanning. From-SVN: r211639
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