Commit Graph

130750 Commits

Author SHA1 Message Date
Jason Merrill
6e0681b715 re PR c++/61488 (Regression in template argument substitution in 4.9+)
PR c++/61488
	* pt.c (check_valid_ptrmem_cst_expr): Fix for template context.

From-SVN: r211704
2014-06-16 07:50:14 -04:00
Jason Merrill
949bd6c8ce re PR c++/61500 ([C++11] Can't take pointer to member referenced via member pointer template parameter.)
PR c++/61500
	* tree.c (lvalue_kind): Handle MEMBER_REF and DOTSTAR_EXPR.

From-SVN: r211703
2014-06-16 07:45:37 -04:00
Ganesh Gopalasubramanian
2bd4bfee7e Remove vpmacsdql instruction from multiplication
From-SVN: r211702
2014-06-16 11:02:31 +00:00
Chung-Lin Tang
debd8f30b9 re PR middle-end/61430 (ICE in lra_create_copy)
2014-06-16  Chung-Lin Tang  <cltang@codesourcery.com>

	PR middle-end/61430
	* lra-lives.c (process_bb_lives): Skip creating copy during
	insn scan when src/dest has constrained to same regno.

From-SVN: r211701
2014-06-16 09:58:34 +00:00
Jan Hubicka
6192fa791f tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again
	DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN.

From-SVN: r211700
2014-06-16 09:25:26 +00:00
Yury Gribov
8946c29ea8 New asan-instrumentation-with-call-threshold parameter.
2014-06-16  Yury Gribov  <y.gribov@samsung.com>

	New asan-instrumentation-with-call-threshold parameter.

	gcc/
	* asan.c (check_func): New function.
	(maybe_create_ssa_name): Likewise.
	(build_check_stmt_with_calls): Likewise.
	(use_calls_p): Likewise.
	(report_error_func): Change interface.
	(build_check_stmt): Allow non-integer lengths; add support
	for new parameter.
	(asan_instrument): Likewise.
	(instrument_mem_region_access): Moved code to
	build_check_stmt.
	(instrument_derefs): Likewise.
	(instrument_strlen_call): Likewise.
	* cfgcleanup.c (old_insns_match_p): Add support for new
	functions.
	* doc/invoke.texi: Describe new parameter.
	* params.def: Define new parameter.
	* params.h: Likewise.
	* sanitizer.def: Describe new builtins.

	gcc/testsuite/
	* c-c++-common/asan/instrument-with-calls-1.c: New test.
	* c-c++-common/asan/instrument-with-calls-2.c: Likewise.
	* c-c++-common/asan/instrument-with-calls-3.c: Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-1.c: Update
	test patterns.
	* c-c++-common/asan/no-redundant-instrumentation-2.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-4.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-5.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-6.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-7.c:
	Likewise.
	* c-c++-common/asan/no-redundant-instrumentation-8.c:
	Likewise.

From-SVN: r211699
2014-06-16 08:43:47 +00:00
Richard Biener
5d5cb4d4c1 tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Make all defs available at the end.
2014-06-16  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
	Make all defs available at the end.
	(eliminate): If we remove a PHI node schedule cfg-cleanup.

From-SVN: r211698
2014-06-16 08:16:01 +00:00
Jakub Jelinek
4e4fa3c522 re PR plugins/45078 (config/vxworks-dummy.h not installed as a plugin header on some archs)
PR plugins/45078
	* config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.

From-SVN: r211696
2014-06-16 10:12:40 +02:00
Eric Botcazou
9495e94718 Minor tweaks
From-SVN: r211695
2014-06-16 08:08:52 +00:00
Richard Sandiford
737c262e89 re PR regression/61516 (build fails on auto-inc-dec.c or libgcc2.c with obvious patch)
gcc/
	PR bootstrap/61516
	* auto-inc-dec.c (merge_in_block): Fix location of insn_info
	initialization.  Replace remaining use of uid.

From-SVN: r211694
2014-06-16 07:40:17 +00:00
Jan Hubicka
590db899b1 * decl.c (grokvardecl): Fix pasto in previous patch.
From-SVN: r211693
2014-06-16 01:15:09 +00:00
GCC Administrator
2d3e37f8d7 Daily bump.
From-SVN: r211692
2014-06-16 00:16:46 +00:00
Jan Hubicka
56363ffd48 c-common.c (handle_tls_model_attribute): Use set_decl_tls_model.
* 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-15 23:38:29 +00:00
Francois-Xavier Coudert
a416c4c766 re PR fortran/28484 ([F03] system_clock with real-type count_rate does not 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-15 16:58:53 +00:00
Francois-Xavier Coudert
6faf47517f re PR libfortran/60468 (./fpu-target.h:93:3: error: unknown type name 'choke')
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-15 09:44:04 +00:00
Richard Sandiford
3bb5c996ca df.h (DF_REF_REG_USE_P, [...]): Remove null checks.
gcc/
	* df.h (DF_REF_REG_USE_P, DF_MWS_REG_USE_P): Remove null checks.

From-SVN: r211684
2014-06-15 07:39:38 +00:00
Richard Sandiford
b512946c89 df.h (df_mw_hardreg, [...]): Add a link pointer.
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-15 07:39:30 +00:00
Richard Sandiford
5a474220d9 df.h (df_ref_create, [...]): Delete.
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-15 07:33:13 +00:00
Richard Sandiford
74e59b6c24 df.h (df_single_def, [...]): New functions.
gcc/
	* df.h (df_single_def, df_single_use): New functions.
	* ira.c (find_moveable_pseudos): Use them.

From-SVN: r211681
2014-06-15 07:33:04 +00:00
Richard Sandiford
fc8e9f583c df.h (FOR_EACH_INSN_INFO_MW): New macro.
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-15 07:32:54 +00:00
Richard Sandiford
292321a5cd df.h (FOR_EACH_ARTIFICIAL_USE, [...]): New macros.
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-15 07:32:43 +00:00
Richard Sandiford
bfac633a90 df.h (DF_INSN_INFO_MWS, [...]): New macros.
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-15 07:32:28 +00:00
GCC Administrator
2c73339ae9 Daily bump.
From-SVN: r211676
2014-06-15 00:16:32 +00:00
Paolo Carlini
045af2d75a re PR c++/33101 ([DR 577] allow typedefs for void in empty parameter list)
/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-14 22:55:40 +00:00
Jonathan Wakely
fb3bc97798 any (any_cast): Combine duplicate doxygen comments.
* 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-14 21:43:07 +01:00
Jonathan Wakely
10d43d2fb4 api.xml: Link to more recent API docs.
* 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-14 21:22:10 +01:00
Jonathan Wakely
0054134919 user.cfg.in (INPUT): Add C++14 headers.
* 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-14 17:33:53 +01:00
Jonathan Wakely
e8043fa674 status_cxx2014.xml: Update Fundamentals TS status.
* 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-14 17:00:56 +01:00
Bernd Edlinger
ab938b4135 re PR ada/61505 (bootstrap broken by ada/gnat_rm.texi after r211448)
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-14 14:31:55 +00:00
Richard Sandiford
e6120abeb0 dg-extract-results.py: For Python 3, force sys.stdout to handle surrogate 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-14 09:49:07 +00:00
Arnaud Charlet
56444a325d re PR ada/61505 (bootstrap broken by ada/gnat_rm.texi after r211448)
PR ada/61505
        * gnat_rm.texi: Attempt to fix error with makeinfo 5.1

From-SVN: r211665
2014-06-14 08:55:49 +02:00
GCC Administrator
9ca016480b Daily bump.
From-SVN: r211661
2014-06-14 00:16:28 +00:00
Ian Lance Taylor
bbeaf05dc0 re PR go/61496 (Many Go tests FAIL with ld warning about go$zerovalue)
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-13 22:30:47 +00:00
Vladimir Makarov
9afb455c25 lra-assign.c (assign_by_spills): Add code to assign vector regs to 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-13 20:28:10 +00:00
Peter Bergner
8241efd129 re PR testsuite/61415 (PowerPC test gcc.target/powerpc/tfmode_off.c fails if -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 13:42:53 -05:00
Jeff Law
c7ece684ca [multiple changes]
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-13 10:40:48 -06:00
Dehao Chen
8e96d78433 Emit linkage names for inlined functions.
* 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 15:46:11 +00:00
Thomas Schwinge
a10ec8bcac * config-ml.in: Robustify ac_configure_args parsing.
From-SVN: r211645
2014-06-13 16:32:29 +02:00
Thomas Schwinge
45b3824db6 Non-host system configuration for linker plugins.
* 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-13 16:32:16 +02:00
Thomas Schwinge
b6383ab841 Allow for overriding a module's srcdir.
* 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-13 16:32:03 +02:00
Thomas Schwinge
2a7a8388e2 Allow overriding the libiberty used for building the LTO plugin.
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-13 16:30:46 +02:00
Martin Jambor
beb683ab93 re PR ipa/61186 (./g++.dg/ipa/pr52939.C & valgrind & pointer_set_insert)
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-13 16:26:51 +02:00
Ian Lance Taylor
2abacbaec7 re PR go/52583 (Several new go testsuite failues on Solaris)
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-13 13:56:14 +00:00
Ian Lance Taylor
eec40eac83 re PR go/61498 (Many 64-bit Go tests SEGV in scanblock)
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-13 13:50:13 +00:00
Nick Clifton
f6c438246c rx.h (JUMP_ALIGN): Return the log value if user requested alignment is active.
* 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-13 13:33:09 +00:00
Alan Lawrence
6d5bfc0e01 gcc.dg/vect/vect-singleton_1.c: Remove duplicate of test body.
From-SVN: r211635
2014-06-13 11:49:27 +00:00
Arnaud Charlet
783da331c1 [multiple changes]
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-13 12:31:26 +02:00
Robert Dewar
129bbe4330 sem_ch3.adb, [...]: Minor reformatting.
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 12:26:34 +02:00
Arnaud Charlet
aca670a0a9 [multiple changes]
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 12:25:19 +02:00
Arnaud Charlet
d2adb45e35 [multiple changes]
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-13 12:23:05 +02:00