Commit Graph

124655 Commits

Author SHA1 Message Date
Yufeng Zhang
cc277e8fd9 lower-subreg-1.c: Skip aarch64*-*-*.
gcc/testsuite/

	* gcc.dg/lower-subreg-1.c: Skip aarch64*-*-*.

From-SVN: r201636
2013-08-09 20:48:00 +00:00
Janus Weil
11e5274a4b gfortran.h (gfc_get_code): Modified prototype.
2013-08-09  Janus Weil  <janus@gcc.gnu.org>

	* gfortran.h (gfc_get_code): Modified prototype.
	* class.c (finalize_component, finalization_scalarizer,
	finalization_get_offset, finalizer_insert_packed_call,
	generate_finalization_wrapper, gfc_find_derived_vtab,
	gfc_find_intrinsic_vtab): Use 'gfc_get_code'.
	* io.c (match_io_iterator, match_io_element, terminate_io, get_io_list,
	gfc_match_inquire): Call 'gfc_get_code' with argument.
	* match.c (match_simple_forall, gfc_match_forall, gfc_match_goto,
	gfc_match_nullify, gfc_match_call, match_simple_where, gfc_match_where):
	Ditto.
	* parse.c (new_level): Ditto.
	(add_statement): Use XCNEW.
	* resolve.c (resolve_entries, resolve_allocate_expr,
	resolve_select_type, build_assignment, build_init_assign): Call
	'gfc_get_code' with argument.
	* st.c (gfc_get_code): Add argument 'op'.
	* trans-expr.c (gfc_trans_class_array_init_assign): Call 'gfc_get_code'
	with argument.
	* trans-stmt.c (gfc_trans_allocate): Ditto.

From-SVN: r201635
2013-08-09 21:26:07 +02:00
Jan Hubicka
2fa3d31bd6 cgraph.h (cgraph_node): Add profile_id.
* cgraph.h (cgraph_node): Add profile_id.
	* value-prof.c (cgraph_node_map): Turn into pointer_map.
	(init_node_map): Rewrite to handle hashes increas of incremental
	IDs.
	(del_node_map): Update.
	(find_func_by_funcdef_no): Replace by ...
	(find_func_by_profile_id): ... this one.
	(gimple_ic_transform): Do not remove useful histograms when
	speculation is not done; dump info when indirect call removal
	can happen at LTO.
	* value-prof.h (find_func_by_profile_id, gimple_ic): Declare.
	* gcov-io.h (__gcov_indirect_call_profiler): Replace by ...
	(__gcov_indirect_call_profiler_v2): .. this one.
	* profile.h (init_node_map): Update.
	* coverage.c (coverage_compute_profile_id): New function.
	* coverage.h (coverage_compute_profile_id): Declare.
	* tree-profile.c (init_ic_make_global_vars): Make
	__gcov_indirect_call_callee and  __gcov_indirect_call_counters global.
	(gimple_init_edge_profiler): Update prototype of
	__gcov_indirect_call_profiler.
	(gimple_gen_ic_func_profiler): Simplify.
	(tree_profiling): Use init_node_map

From-SVN: r201634
2013-08-09 18:23:23 +00:00
Janus Weil
36849c21cc re PR fortran/58058 (Memory leak with transfer function)
2013-08-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58058
	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Free the temporary
	string, if necessary.

2013-08-09  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58058
	* gfortran.dg/transfer_intrinsic_6.f90: New.

From-SVN: r201633
2013-08-09 18:57:58 +02:00
Jan Hubicka
042ae7d242 cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative refs.
* cgraphbuild.c (cgraph_rebuild_references): Rebuild only non-speculative
	refs.
	* cgraph.c (cgraph_update_edge_in_call_site_hash): New function.
	(cgraph_add_edge_to_call_site_hash): Deal with speculative calls.
	(cgraph_set_call_stmt): Likewise.
	(cgraph_create_edge_1): Fix release checking compilatoin;
	clear lto_stmt_uid.
	(cgraph_free_edge): Free indirect info.
	(cgraph_turn_edge_to_speculative): New function.
	(cgraph_speculative_call_info): New function.
	(cgraph_make_edge_direct): Return direct edge; handle speculation.
	(cgraph_redirect_edge_call_stmt_to_callee): Expand speculative
	edges.
	(dump_cgraph_node): Dump speculation.
	(verify_edge_count_and_frequency): Accept speculative edges.
	(verify_edge_corresponds_to_fndecl): Handle partitioned cgraph.
	(verify_cgraph_node): Handle speculation.
	* cgraph.h (cgraph_edge): Add SPECULATIVE flag.
	(cgraph_set_call_stmt): Update prototype.
	(cgraph_make_edge_direct): Update prototype.
	(cgraph_speculative_call_info): Declare.
	* ipa-cp.c (ipcp_discover_new_direct_edges): Be ready for edge
	to change; update call of ipa_find_references.
	* ipa-ref.c (ipa_record_reference): Fix return value; clear
	lto_stmt_uid and speculative flags.
	(ipa_dump_references): Dump speculation.
	(ipa_clone_references): Clone speculative flag.
	(ipa_clone_referring): Likewise.
	(ipa_clone_ref): New function.
	(ipa_find_reference): Look into lto_stmt_uids
	(ipa_clear_stmts_in_references): Do not clear speculative calls.
	* ipa-ref.h (ipa_ref): Add lto_stmt_uid and speculative flags.
	(ipa_find_reference): Update declaration.
	(ipa_clone_ref): Declare.
	* lto-cgraph.c (lto_output_edge): Make lto_stmt_uids start from 0;
	stream speculative flag.
	(lto_output_ref): Stream statements uids and speculation.
	(input_ref): Likewise.
	(input_edge): Stream speuclation.
	* cgraphclones.c (cgraph_clone_edge): Clone speculation.
	(cgraph_set_call_stmt_including_clones): Handle speculation.
	* ipa-inline.c (heap_edge_removal_hook): New function.
	(inline_small_functions): Register it.
	* lto-streamer-in.c (fixup_call_stmt_edges_1): Bounds checking;
	also initialize refs.
	* ipa-prop.c (ipa_make_edge_direct_to_target): Be ready for
	edge to change.
	(try_make_edge_direct_simple_call): Likewise.
	(try_make_edge_direct_simple_call): Likewise.
	(update_indirect_edges_after_inlining): Likewise.
	(remove_described_reference): Look proper lto_stmt_uid.
	(propagate_controlled_uses): Likewise.
	(propagate_controlled_uses): Liekwise.
	* tree-inline.c (copy_bb): Copy speculative edges.
	(redirect_all_calls): New function.
	(copy_cfg_body): Do redirection after loop info
	is updated.
	(delete_unreachable_blocks_update_callgraph): Updadte
	speculation.

From-SVN: r201632
2013-08-09 15:23:19 +00:00
Paolo Carlini
6efa6002d5 revert: re PR c++/46206 (using typedef-name error with typedef name hiding struct name)
/cp
2013-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/46206
	* name-lookup.c (lookup_name_real_1): Handle iter->type before
	iter->value.

/testsuite
2013-08-09  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/46206
	* g++.dg/lookup/typedef2.C: New.

From-SVN: r201629
2013-08-09 12:04:19 +00:00
Jan Hubicka
aa1e10cca1 lto-streamer-out.c (output_function): Renumber PHIs.
* lto-streamer-out.c (output_function): Renumber PHIs.
	* lto-streamer-in.c (input_function): Likewise.

From-SVN: r201627
2013-08-09 11:44:27 +00:00
Arnaud Charlet
65a372f494 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
From-SVN: r201625
2013-08-09 10:51:54 +00:00
James Greenhalgh
66adb8eb44 [AArch64] Fixup the vget_lane RTL patterns and intrinsics
gcc/
	* config/aarch64/aarch64-simd-builtins.def (get_lane_signed): Remove.
	(get_lane_unsigned): Likewise.
	(dup_lane_scalar): Likewise.
	(get_lane): enable for VALL.
	* config/aarch64/aarch64-simd.md
	(aarch64_dup_lane_scalar<mode>): Remove.
	(aarch64_get_lane_signed<mode>): Likewise.
	(aarch64_get_lane_unsigned<mode>): Likewise.
	(aarch64_get_lane_extend<GPI:mode><VDQQH:mode>): New.
	(aarch64_get_lane_zero_extendsi<mode>): Likewise.
	(aarch64_get_lane<mode>): Enable for all vector modes.
	(aarch64_get_lanedi): Remove misleading constraints.
	* config/aarch64/arm_neon.h
	(__aarch64_vget_lane_any): Define.
	(__aarch64_vget<q>_lane_<fpsu><8,16,32,64>): Likewise.
	(vget<q>_lane_<fpsu><8,16,32,64>): Use __aarch64_vget_lane macros.
	(vdup<bhsd>_lane_<su><8,16,32,64>): Likewise.
	* config/aarch64/iterators.md (VDQQH): New.
	(VDQQHS): Likewise.
	(vwcore): Likewise.

gcc/testsuite/
	* gcc.target/aarch64/scalar_intrinsics.c: Update expected
	output of vdup intrinsics.

From-SVN: r201624
2013-08-09 09:28:51 +00:00
Eric Botcazou
23a6cb7838 Fix typo
From-SVN: r201623
2013-08-09 09:22:59 +00:00
Eric Botcazou
1f65ae7afe configure.ac: Add GAS check for LEON instructions on SPARC.
* configure.ac: Add GAS check for LEON instructions on SPARC.
	* configure: Regenerate.
	* config.in: Likewise.
	* config.gcc (with_cpu): Remove sparc-leon*-* and deal with LEON in the
	sparc*-*-* block.
	* config/sparc/sparc.opt (LEON, LEON3): New masks.
	* config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Set to AS_LEON_FLAG
	for LEON or LEON3.
	(ASM_CPU_SPEC): Pass AS_LEON_FLAG if -mcpu=leon or -mcpu=leon3.
	(AS_LEON_FLAG): New macro.
	* config/sparc/sparc.c (sparc_option_override): Set MASK_LEON for leon
	and MASK_LEON3 for leon3 and unset them if HAVE_AS_LEON is not defined.
	Deal with LEON and LEON3 for the memory model.
	* config/sparc/sync.m (atomic_compare_and_swap<mode>): Enable for LEON3
	(atomic_compare_and_swap<mode>_1): Likewise.
	(*atomic_compare_and_swap<mode>_1): Likewise.

From-SVN: r201622
2013-08-09 09:13:32 +00:00
Tim Shen
6646d624d0 regex_constants.h: Change syntax_option_type to enum type.
2013-08-09  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_constants.h: Change syntax_option_type to enum
	type.

From-SVN: r201621
2013-08-09 07:53:28 +00:00
Uros Bizjak
03b0ee0aba ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
	* testsuite/ChangeLog: Ditto.

From-SVN: r201619
2013-08-09 08:49:23 +02:00
Zhenqiang Chen
ff522f7fd4 neon.md (vcond): Fix floating-point vector comparisons against 0.
ChangeLog:
2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

        * config/arm/neon.md (vcond): Fix floating-point vector
        comparisons against 0.

testsuite/ChangeLog:
2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

        * gcc.target/arm/lp1189445.c: New testcase.

From-SVN: r201618
2013-08-09 06:38:26 +00:00
Benjamin Kosnik
b9bfa45aad configure.ac: Adjust to check VTV_SUPPORTED.
2013-08-08  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac: Adjust to check VTV_SUPPORTED.
	* configure: Regenerated.

From-SVN: r201617
2013-08-09 03:51:02 +00:00
Benjamin Kosnik
1e74b85022 configure.tgt: Simplify, just use VTV_SUPPORTED.
gcc
2013-08-08  Benjamin Kosnik  <bkoz@rehat.com>
	    Michael Meissner <meissner@linux.vnet.ibm.com>

	* configure.tgt : Simplify, just use VTV_SUPPORTED.

gcc/libvtv
2013-08-08  Benjamin Kosnik  <bkoz@redhat.com>

	* configure.ac: Adjust to check VTV_SUPPORTED.
	* configure: Regenerated.

From-SVN: r201616
2013-08-09 03:50:55 +00:00
GCC Administrator
c0c68f91af Daily bump.
From-SVN: r201614
2013-08-09 00:16:51 +00:00
Vladimir Makarov
cb1cca1270 lra-constraints.c (emit_spill_move): Remove assert.
2013-08-08  Vladimir Makarov  <vmakarov@redhat.com>

	* lra-constraints.c (emit_spill_move): Remove assert.
	(process_alt_operands): Add more debugging
	output.  Increase reject for spilling into memory.  Decrease
	reject for reloading scratch.
	(split_reg): Use HARD_REGNO_CALLER_SAVE_MODE.

From-SVN: r201611
2013-08-08 20:56:52 +00:00
Steve Ellcey
a3719e31a1 mti-linux.h (SYSROOT_SUFFIX_SPEC): Add nan2008.
2013-08-08  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add nan2008.
	* config/mips/t-mti-elf (MULTILIB_OPTIONS): Make mips16 and
	micromips incompatible.  Add nan2008.
	(MULTILIB_DIRNAMES): Add nan2008.
	(MULTILIB_EXCEPTIONS): Remove mips16/micromips entry.
	* config/mips/t-mti-linux (MULTILIB_OPTIONS): Make mips16
	and micromips incompatible.  Add nan2008.
	(MULTILIB_DIRNAMES): Add nan2008.
	(MULTILIB_EXCEPTIONS): Remove mips16/micromips entry.

From-SVN: r201610
2013-08-08 20:35:28 +00:00
Richard Sandiford
f40423e28f re PR rtl-optimization/58079 (internal compiler error: in do_SUBST, at combine.c:711)
gcc/
	PR rtl-optimization/58079
	* combine.c (combine_simplify_rtx): Avoid using SUBST if
	simplify_comparison has widened a comparison with an integer.

gcc/testsuite/
	* gcc.dg/torture/pr58079.c: New test.

From-SVN: r201609
2013-08-08 18:42:21 +00:00
Caroline Tice
d0595b65c9 Fix ChangeLog formatting errors.
From-SVN: r201606
2013-08-08 09:55:09 -07:00
Kyrylo Tkachov
869b91255a neon.md (movmisalign<mode>): Disable when we don't allow unaligned accesses.
2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/neon.md (movmisalign<mode>): Disable when we
	don't allow unaligned accesses.
	(*movmisalign<mode>_neon_store): Likewise.
	(*movmisalign<mode>_neon_load): Likewise.
	(*movmisalign<mode>_neon_store): Likewise.
	(*movmisalign<mode>_neon_load): Likewise.

From-SVN: r201604
2013-08-08 16:48:14 +00:00
Eric Botcazou
07efff255d Makefile.in (TOOLS_LIBS): Pick C object files from the compiler build and use standard library variables.
* gcc-interface/Makefile.in (TOOLS_LIBS): Pick C object files from the
	compiler build and use standard library variables.
	(../../vxaddr2line$(exeext): Do not depend on targext.o and adjust.
	(gnatmake-re): Do not depend on targext.o.
	(gnatlink-re): Do not depend on link.o and targext.o.
	(../../gnatmake$(exeext): Likewise.
	(../../gnatlink$(exeext): Likewise.

From-SVN: r201602
2013-08-08 14:35:18 +00:00
Jan Hubicka
71cafea943 cgraphbuild.c (build_cgraph_edges): Do not walk into debugs.
* cgraphbuild.c (build_cgraph_edges): Do not walk into debugs.
	(make_pass_rebuild_cgraph_edges): Also clear references.
	* cgraph.c (verify_cgraph_node): Add basic ipa-ref verifier.
	* ipa-inline-transform.c (inline_transform): Remove all references
	after inlining.
	* cgraphunit.c (expand_function): Remove all references after expansion.
	* ipa-ref.c (ipa_ref_has_aliases_p): Fix formatting.
	(ipa_find_reference): Rewrite to iterator.
	(remove_stmt_references): Likewise.
	(ipa_clear_stmts_in_references): New function.
	* ipa-ref.h (ipa_clear_stmts_in_references): Declare.
	* cgraphclones.c (cgraph_materialize_all_clones): Remove or clear references.
	* ipa-split.c (split_function): Remove references in split function.

From-SVN: r201601
2013-08-08 14:15:15 +00:00
Richard Earnshaw
27d2e61268 re PR target/57431 (ICE in simplify_const_unary_operation vld1_dup_s64/vst1_s64)
PR target/57431
	* arm/neon.md (neon_vld1_dupdi): New expand pattern.
	(neon_vld1_dup<mode> VD iterator): Iterate over VD not VDX.

From-SVN: r201599
2013-08-08 13:46:28 +00:00
Richard Earnshaw
5efc661cc4 re PR target/56979 (ICE in output_operand: invalid operand for code 'P')
PR target/56979
	* arm.c (aapcs_vfp_allocate): Decompose the argument if the
	suggested mode for the assignment isn't compatible with the
	registers required.

From-SVN: r201598
2013-08-08 13:34:45 +00:00
Rainer Orth
374cf1652d Don't use _B etc. in libstdc++
* include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp,
	_Cp, _Rp.

From-SVN: r201596
2013-08-08 13:34:12 +00:00
François Dumont
b09bcf83e8 hashtable_policy.h (_Hashtable_alloc): New.
2013-08-08  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Hashtable_alloc): New.
	(_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
	_Hashtable.
	(_Before_begin<>): Remove.
	* include/bits/hashtable.h (_Hashtable): Inherit from
	_Hashtable_alloc and adapt. Restore _M_before_begin field.
	* src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
	* python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
	access to hashtable before begin.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Adapt dg-error line number.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Likewise.

From-SVN: r201592
2013-08-08 09:47:29 +00:00
Bernd Edlinger
f276d31d24 Fix MALLOC_ABI_ALIGNMENT for arm
2013-08-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>

 	PR target/58065
 	* config/arm/arm.h (MALLOC_ABI_ALIGNMENT): New,

From-SVN: r201589
2013-08-08 08:15:57 +00:00
GCC Administrator
4b41ebff74 Daily bump.
From-SVN: r201588
2013-08-08 00:17:15 +00:00
Benjamin Kosnik
0c6cb2d1ad Makefile.am (SUBDIRS): Protect with ENABLE_VTABLE_VERIFY.
2013-08-07  Benjamin Kosnik  <bkoz@rehat.com>

	* Makefile.am (SUBDIRS): Protect with ENABLE_VTABLE_VERIFY.
	* Makefile.in: Regenerate.
	* acinclude.m4 (LIBVTV_CONFIGURE): Move parts to..
	* configure.ac: ...here. Make configure more verbose, re-order.
	* configure: Regenerate.

From-SVN: r201585
2013-08-07 23:40:49 +00:00
Paolo Carlini
00458156b8 2013-08-07 Paolo Carlini <paolo.carlini@oracle.com>
Remove autom4te.cache dir.

From-SVN: r201583
2013-08-07 22:08:07 +00:00
Xinliang David Li
4b8bc0350b Implement -mtune-crl=..
From-SVN: r201582
2013-08-07 20:50:26 +00:00
Oleg Endo
a5b38740ff re PR other/12081 (Gcc can't be compiled with -mregparm=3)
PR other/12081
	config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
	(rs6000_emit_swdiv, rs6000_emit_swrsqrt): Don't cast result of GEN_FCN
	to gen_2arg_fn_t.

From-SVN: r201580
2013-08-07 19:20:37 +00:00
Ian Lance Taylor
364ed4bac6 compiler: Fix "missing return" error for case T1, T2 in type switches.
Also change the "missing return" text and report it at the end
of the function, rather than the start, to match the gc
compiler.

From-SVN: r201579
2013-08-07 19:01:16 +00:00
Eric Botcazou
5cf6635b26 rtl.h (update_alignments): Declare.
* rtl.h (update_alignments): Declare.
	* final.c (grow_label_align): New function extracted from...
	(shorten_branches): ...here.  Call it.
	(update_alignments): New function.
	* reorg.c (sibling_labels): New variable.
	(get_label_before): Add SIBLING parameter.  If it is non-zero, push
	the new label along with it onto the sibling_labels vector.
	(fill_simple_delay_slots): Adjust call to get_label_before.
	(fill_slots_from_thread): Likewise.
	(relax_delay_slots): Likewise.
	(make_return_insns): Likewise.
	(dbr_schedule): Invoke update_alignment on the sibling_labels vector.

From-SVN: r201575
2013-08-07 17:17:07 +00:00
Eric Botcazou
3c8ca1abde diagnostic.c (diagnostic_classify_diagnostic): Accept zero index and document its semantics.
* diagnostic.c (diagnostic_classify_diagnostic): Accept zero index and
	document its semantics.
	(diagnostic_report_diagnostic): Adjust accordingly.

From-SVN: r201574
2013-08-07 17:15:25 +00:00
Tim Shen
6cb784b639 Makefile.am: Adjust to new files.
2013-08-07  Tim Shen  <timshen91@gmail.com>

	* include/Makefile.am: Adjust to new files.
	* include/Makefile.in: Regenerate.
	* include/bits/regex.h: Adjust to new interfaces.
	* include/bits/regex_automaton.h: New.
	* include/bits/regex_automaton.tcc: New.
	* include/bits/regex_compiler.h: Adjust to new files.
	* include/bits/regex_compiler.tcc: New.
	* include/bits/regex_constants.h: Tail spaces.
	* include/bits/regex_error.h: Likewise.
	* include/bits/regex_executor.h: New.
	* include/bits/regex_executor.tcc: New.
	* include/std/regex: Adjust to new files.
	* testsuite/28_regex/algorithms/regex_match/extended/
	string_dispatch_01.cc: Adjust to new interfaces.

From-SVN: r201573
2013-08-07 16:27:36 +00:00
David Malcolm
5ee5b32cb2 sparc.c (insert_pass_work_around_errata): Move into...
2013-08-07  David Malcolm  <dmalcolm@redhat.com>

	* config/sparc/sparc.c (insert_pass_work_around_errata): Move
	into...
	(sparc_option_override): ...and port to new C++ pass API.
	* config/sparc/t-sparc (sparc.o): Add dep on CONTEXT_H

From-SVN: r201569
2013-08-07 15:48:38 +00:00
Paolo Carlini
aeb1f2be12 atomicity.h: Add #pragma GCC system_header.
2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/atomicity.h: Add #pragma GCC system_header.

From-SVN: r201567
2013-08-07 14:26:15 +00:00
Richard Earnshaw
fd6eea0c63 configure.ac: Set need_64bit_hwint for all arm targets.
* configure.ac: Set need_64bit_hwint for all arm targets.
	* configure: Regenerated.

From-SVN: r201566
2013-08-07 13:51:38 +00:00
Peter Bergner
abd566fa5b * config/rs6000/rs6000.c (htm_expand_builtin) <case 0>: Remove.
From-SVN: r201565
2013-08-07 08:21:47 -05:00
Paolo Carlini
a803975d9c re PR libstdc++/58098 (wrong return value of normal_distribution::min())
2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/58098
	* include/bits/random.h (cauchy_distribution<>::min,
	extreme_value_distribution<>::min, normal_distribution<>::min,
	student_t_distribution<>::min): Fix.
	* include/ext/random (normal_mv_distribution<>::min): Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
	Adjust.
	testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
	Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/cons/
	parms.cc: Likewise.
	testsuite/26_numerics/random/extreme_value_distribution/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
	Likewise.
	* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
	Likewise.
	* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
	Likewise.
	* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
	Likewise.
	* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
	* testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.

	* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
	Minor tweak.
	* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
	Likewise.

	* testsuite/ext/von_mises_distribution/*: Move to...
	* testsuite/ext/random/von_mises_distribution/*: ... here.
	* testsuite/ext/triangular_distribution/*: Move to...
	* testsuite/ext/random/triangular_distribution/*: ... here.

From-SVN: r201562
2013-08-07 11:41:30 +00:00
Paolo Carlini
dd81965b76 re PR c++/46206 (using typedef-name error with typedef name hiding struct name)
/cp
2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/46206
	* name-lookup.c (lookup_name_real_1): Handle iter->type before
	iter->value.

/testsuite
2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/46206
	* g++.dg/lookup/typedef2.C: New.

From-SVN: r201558
2013-08-07 10:10:27 +00:00
Caroline Tice
2077db1be5 Commit the vtable verification feature.
Commit the vtable verification feature.  This feature is designed to
detect, at run time, if/when the vtable pointer in a C++ object has
been corrupted, before allowing virtual calls through that pointer. 
If pointer corruption is detected, execution of the program is halted.

libstdc++-v3 ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * fragment.am: Add XTEMPLATE_FLAGS.
        * configure.ac: Add definitions for --enable-vtable-verify.
        * acinclude.m4:  Add --enable-vtable-verify and
        --disable-vtable-verify; define --enable-vtable-verify; define
        VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
        * config/abi/pre/gnu.ver: Export symbols for vtable verification.
        * libsupc++/Makefile.am: Define vtv_sources and add it to
        libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
        * libsupc++/vtv_stubs.cc: New file.
        * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
        * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
        VTV_CXXLINKFLAGS to CXXLINK.
        * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
        to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
        * src/C++11/Makefile.am: Ditto.
        * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
        * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
        cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
        * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
        libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
        cxxvtvflags to cxx_final.
        * testsuite/18_support/bad_exception/23591_thread-1.c: Add
        -fvtable-verify=none to compiler flags.
        * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
        to compiler flags.
        * configure: Regenerated.
        * Makefile.in: Regenerated.
        * python/Makefile.in: Regenerated.
        * include/Makefile.in: Regenerated.
        * libsupc++/Makefile.in: Regenerated.
        * config.h.in: Regenerated.
        * po/Makefile.in: Regenerated.
        * src/Makefile.in: Regenerated.
        * src/c++98/Makefile.in: Regenerated.
        * src/c++11/Makefile.in: Regenerated.
        * doc/Makefile.in: Regenerated.
        * testsuite/Makefile.in: Regenerated.

top level ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * configure.ac: Add target-libvtv to target_libraries; disable libvtv
        on non-linux systems; add target-libvtv to noconfigdirs; add
        libsupc++/.libs to C++ library search paths.
        * configure: Regenerated.
        * Makefile.def: Add libvtv to target_modules; make libvtv depend on
        libstdc++ and libgcc.
        * Makefile.in: Regenerated.

include/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * vtv-change-permission.h: New file.

contrib/ChangeLog:
2013-08-06  Caroline Tice4  <cmtice@google.com>

        * gcc_update: Add libvtv files.

libgcc/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        config.host (extra_parts): Add vtv_start.o, vtv_end.o
        vtv_start_preinit.o and vtv_end_preinit.o.
        configure.ac: Add code to check/set enable_vtable_verify.
        Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is
        true.
        vtv_start_preinit.c: New file.
        vtv_end_preinit.c: New file.
        vtv_start.c: New file.
        vtv_end.c: New file.
        configure: Regenerated.

gcc/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * gcc.c (VTABLE_VERIFICATION_SPEC): New definition.
        (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC.
        * tree-pass.h: Add pass_vtable_verify.
        * varasm.c (assemble_variable): Add code to properly set the comdat
        section and name for the .vtable_map_vars section.
        (assemble_vtyv_preinit_initializer): New function.
        (default_sectin_type_flags):  Make sure .vtable_map_vars section has
        LINK_ONCE flag.
        * output.h: Add function decl for assemble_vtv_preinit_initializer.
        * vtable-verify.c: New file.
        * vtable-verify.h: New file.
        * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify
        initialiation levels.
        * timevar.def (TV_VTABLE_VERIFICATION): New definition.
        * passes.def: Insert pass_vtable_verify.
        * aclocal.m4: Reorder includes.
        * doc/invoke.texi: Add documentation for the flags -fvtable-verify=,
	-fvtv-debug and -fvtv-counts.
        * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o,
as appropriate, if -fvtable-verify=... is used.
        (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if
        -fvtable-verify=... is used.
        * Makefile.in (OBJS):  Add vtable-verify.o to list.
        (vtable-verify.o): Add new build rule.
        (GTFILES): Add vtable-verify.c to list.
        * common.opt (fvtable-verify=): New flag.
        (vtv_priority): Values for fvtable-verify= flag.
        (fvtv-counts): New flag.
(fvtv-debug): New flag.
        * tree.h (save_vtable_map_decl): New extern function decl.


gcc/cp/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        * Make-lang.in (*CXX_AND_OBJCXX_OBJS):  Add vtable-class-hierarchy.o to
        list.
        (vtable-class-hierarchy.o): Add build rule.
        * cp-tree.h (vtv_start_verification_constructor_init_function): New
        extern function decl.
        (vtv_finish_verification_constructor_init_function): New extern
        function decl.
        (build_vtbl_address): New extern function decl.
        (get_mangled_vtable_map_var_name): New extern function decl.
        (vtv_compute_class_hierarchy_transitive_closure): New extern function
        decl.
        (vtv_generate_init_routine): New extern function decl.
        (vtv_save_class_info): New extern function decl.
        (vtv_recover_class_info): New extern function decl.
        (vtv_build_vtable_verify_fndecl): New extern function decl.
        * class.c (finish_struct_1): Add call to vtv_save_class_info if
        flag_vtable_verify is true.
        * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list.
        * vtable-class-hierarchy.c: New file.
        * mangle.c (get_mangled_vtable_map_var_name):  New function.
        * decl2.c (start_objects): Update function comment.
        (cp_write_global_declarations): Call vtv_recover_class_info,
        vtv_compute_class_hierarchy_transitive_closure and
        vtv_build_vtable_verify_fndecl, before calling
        finalize_compilation_unit, and call vtv_generate_init_rount after, IFF
        flag_vtable_verify is true.
        (vtv_start_verification_constructor_init_function): New function.
        (vtv_finish_verification_constructor_init_function): New function.
        * init.c (build_vtbl_address): Remove static qualifier from function.

libvtv/ChangeLog:
2013-08-06  Caroline Tice  <cmtice@google.com>

        Initial check-in of new vtable verification feature.
        * configure.ac : New file.
        * acinclude.m4 : New file.
        * Makefile.am : New file.
        * aclocal.m4 : New file.
        * configure.tgt : New file.
        * configure: New file (generated).
        * Makefile.in: New file (generated).
        * vtv_set.h : New file.
        * vtv_utils.cc : New file.
        * vtv_utils.h : New file.
        * vtv_malloc.cc : New file.
        * vtv_rts.cc : New file.
        * vtv_malloc.h : New file.
        * vtv_rts.h : New file.
        * vtv_fail.cc : New file.
        * vtv_fail.h : New file.
        * vtv_map.h : New file.
        * scripts/run-testsuite.sh : New file.
        * scripts/sum-vtv-counts.c : New file.
        * testsuite/parts-test-main.h : New file.
        * testusite/dataentry.cc : New file.
        * testsuite/temp_deriv.cc : New file.
        * testsuite/register_pair.cc : New file.
        * testsuite/virtual_inheritance.cc : New file.
        * testsuite/field-test.cc : New file.
        * testsuite/nested_vcall_test.cc : New file.
        * testsuite/template-list-iostream.cc : New file.
        * testsuite/register_pair_inserts.cc : New file.
        * testsuite/register_pair_inserts_mt.cc : New file.
        * testsuite/event.list : New file.
        * testsuite/parts-test-extra-parts-views.cc : New file.
        * testsuite/parts-test-extra-parts-views.h : New file.
        * testsuite/environment-fail-32.s : New file.
        * testsuite/parts-test-extra-parts.h : New file.
        * testsuite/temp_deriv2.cc : New file.
        * testsuite/dlopen_mt.cc : New file.
        * testsuite/event.h : New file.
        * testsuite/template-list.cc : New file.
        * testsuite/replace-fail.cc : New file.
        * testsuite/Makefile.am : New file.
        * testsuite/Makefile.in: New file (generated).
        * testsuite/mempool_negative.c : New file.
        * testsuite/parts-test-main.cc : New file.
        * testsuite/event-private.cc : New file.
        * testsuite/thunk.cc : New file.
        * testsuite/event-defintiions.cc : New file.
        * testsuite/event-private.h : New file.
        * testsuite/parts-test.list : New file.
        * testusite/register_pair_mt.cc : New file.
        * testsuite/povray-derived.cc : New file.
        * testsuite/event-main.cc : New file.
        * testsuite/environment.cc : New file.
        * testsuite/template-list2.cc : New file.
        * testsuite/thunk_vtable_map_attack.cc : New file.
        * testsuite/parts-test-extra-parts.cc : New file.
        * testsuite/environment-fail-64.s : New file.
        * testsuite/dlopen.cc : New file.
        * testsuite/so.cc : New file.
        * testsuite/temp_deriv3.cc : New file.
        * testsuite/const_vtable.cc : New file.
        * testsuite/mempool_positive.c : New file.
        * testsuite/dup_name.cc : New file.

From-SVN: r201555
2013-08-06 20:38:59 -07:00
David Malcolm
03085d1cf9 rl78.c (rl78_devirt_pass): Convert from a struct to...
2013-08-07  David Malcolm  <dmalcolm@redhat.com>

	* config/rl78/rl78.c (rl78_devirt_pass): Convert from a struct to...
	(pass_rl78_devirt): ...new subclass of rtl_opt_pass along with...
	(pass_data_rl78_devirt): ...new pass_data instance and...
	(make_pass_rl78_devirt): ...new function.
	(rl78_asm_file_start): Port pass registration to new C++ API.

From-SVN: r201553
2013-08-07 01:50:43 +00:00
David Malcolm
d0cd816041 plugin-support.exp (plugin-test-execute): Add -fno-rtti to optstr when building plugins on darwin.
2013-08-07  David Malcolm  <dmalcolm@redhat.com>

	* lib/plugin-support.exp (plugin-test-execute): Add -fno-rtti
	to optstr when building plugins on darwin.

From-SVN: r201552
2013-08-07 01:25:22 +00:00
Jason Merrill
f585f69b31 re PR c++/57825 (Template specialization for ref qualified member pointers)
PR c++/57825
	* tree.c (strip_typedefs) [METHOD_TYPE]: Preserve ref-qualifier.

From-SVN: r201550
2013-08-06 21:17:36 -04:00
David Malcolm
05555c4ad1 coretypes.h (rtl_opt_pass): Add.
2013-08-07  David Malcolm  <dmalcolm@redhat.com>

	* coretypes.h (rtl_opt_pass): Add.
	(gcc::context): Add.
	* config/epiphany/epiphany.c (pass_mode_switch_use): New.
	(epiphany_init): Port to new C++ pass API.
	(epiphany_optimize_mode_switching): Likewise.
	* pass_manager.h (pass_manager::get_pass_split_all_insns): New.
	(pass_manager::get_pass_mode_switching): New.
	(pass_manager::get_pass_peephole2): New.
	* mode-switching.c (pass_mode_switching): Add clone method.
	* recog.c (pass_peephole2): Add clone method.
	(pass_split_all_insns): Add clone method.

From-SVN: r201549
2013-08-07 01:14:39 +00:00
GCC Administrator
e71835fb5b Daily bump.
From-SVN: r201548
2013-08-07 00:16:37 +00:00