Commit Graph

131083 Commits

Author SHA1 Message Date
Jason Merrill
c0221884ec re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR c++/61659
	PR c++/61687
gcc/c-family/
	* c.opt (-fuse-all-virtuals): New.
gcc/cp/
	* decl2.c (mark_all_virtuals): New variable.
	(maybe_emit_vtables): Check it instead of flag_devirtualize.
	(cp_write_global_declarations): Set it and give helpful diagnostic
	if it introduces errors.
	* class.c (finish_struct_1): Check it.
	* decl.c (grokdeclarator): Clear virtualp after 'virtual auto' error.

From-SVN: r212436
2014-07-10 15:29:59 -04:00
Jonathan Wakely
7757d79bfc any (any::_Manager_alloc::_Data): Reorder tuple members to simplify pretty printing.
* include/experimental/any (any::_Manager_alloc::_Data): Reorder
	tuple members to simplify pretty printing.
	(any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
	construction.
	* testsuite/experimental/any/cons/4.cc: New.

From-SVN: r212435
2014-07-10 19:08:35 +01:00
Richard Biener
218e53ea1f re PR tree-optimization/61757 (genmodes failure with enable-checking)
2014-07-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61757
	* tree-ssa-dom.c (loop_depth_of_name): Restore.
	(propagate_rhs_into_lhs): Revert part of last change.

From-SVN: r212433
2014-07-10 14:43:07 +00:00
Tom de Vries
3ed71ced71 Add addressing=absolute and isa_rev=0 to mips fuse-caller-save tests
2014-07-10  Tom de Vries  <tom@codesourcery.com>

	* gcc.target/mips/fuse-caller-save.c: Add addressing=absolute to
	dg-options.
	* gcc.target/mips/fuse-caller-save-micromips.c: Same.
	* gcc.target/mips/fuse-caller-save-mips16.c: Same.  Add isa_rev=0 to
	dg-options.

From-SVN: r212432
2014-07-10 14:02:26 +00:00
Richard Biener
bed191cdd1 re PR c/61741 (wrong code with -fno-strict-overflow)
2014-07-10  Richard Biener  <rguenther@suse.de>

	PR c-family/61741
	* c-c++-common/torture/pr61741.c: Use signed char.

From-SVN: r212430
2014-07-10 12:20:32 +00:00
Thomas Schwinge
f9abc06c5e Fix --enable-checking=fold failure.
gcc/
	* fold-const.c (fold_checksum_tree): Look at DECL_VINDEX only for
	FUNCTION_DECLs.

From-SVN: r212428
2014-07-10 14:05:27 +02:00
Eric Botcazou
d764963b54 re PR middle-end/53590 (compiler fails to generate SIMD instruction for FP division)
PR middle-end/53590
	* function.c (allocate_struct_function): Revert r188667 change.

	* gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.

From-SVN: r212424
2014-07-10 10:38:30 +00:00
Francois-Xavier Coudert
56710419ba fpu-*.h (get_fpu_rounding_mode, [...]): Clean up, mark unreachable code as such.
* config/fpu-*.h (get_fpu_rounding_mode, set_fpu_rounding_mode,
	support_fpu_rounding_mode): Clean up, mark unreachable code as such.

From-SVN: r212423
2014-07-10 08:45:38 +00:00
Tom G. Christensen
64d57736e1 install.texi: Remove links to defunct package providers for Solaris.
* doc/install.texi: Remove links to defunct package providers for
	Solaris.

From-SVN: r212422
2014-07-10 08:28:36 +00:00
Yuri Rumyantsev
0fe2dc0e59 re PR tree-optimization/61742 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/61742

gcc/testsuite/
        * gcc.dg/torture/pr61742.c: New test.
        * gcc.gg/vect/cond-reduc-1.c: Rename it to vect-cond-reduc-1.c
        * gcc.gg/vect/cond-reduc-2.c: Rename it to vect-cond-reduc-2.c

From-SVN: r212421
2014-07-10 07:38:39 +00:00
GCC Administrator
5eb3353874 Daily bump.
From-SVN: r212420
2014-07-10 00:17:11 +00:00
Tom de Vries
e57180433a Add missing ChangeLog entries
From-SVN: r212416
2014-07-09 23:51:22 +00:00
Paolo Carlini
2ec9995341 re PR c++/60686 (message " only declarations of constructors can be ‘explicit’ " now conflicting with C++11)
/cp
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60686
	* decl.c (grokdeclarator): Adjust error messages about 'explicit'
	outside class declaration, in friend declaration, and neither on
	constructor nor conversion operator.

/testsuite
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60686
	* g++.dg/cpp0x/explicit8.C: New.

From-SVN: r212415
2014-07-09 22:44:42 +00:00
Jason Merrill
a6ea72bf82 re PR libstdc++/61728 (lost symbol FUNC:_ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@@CXXABI_1.3)
PR libstdc++/61728
	* libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
	* libsupc++/tinfo.h: Not here.

From-SVN: r212413
2014-07-09 18:21:49 -04:00
Paolo Carlini
84b6417063 DR 1584 PR c++/57466
/cp
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1584
	PR c++/57466
	* pt.c (check_cv_quals_for_unify): Implement resolution, disregard
	cv-qualifiers of function types.

/testsuite
2014-07-09  Paolo Carlini  <paolo.carlini@oracle.com>

	DR 1584
	PR c++/57466
	* g++.dg/template/pr57466.C: New.
	* g++.dg/cpp0x/pr57466.C: Likewise.
	* g++.dg/template/unify6.C: Update.

From-SVN: r212410
2014-07-09 21:23:06 +00:00
Tom de Vries
26e288bab5 Enable fuse-caller-save on self-recursive functions
2014-07-09  Tom de Vries  <tom@codesourcery.com>

	* final.c (get_call_fndecl): Declare.
	(self_recursive_call_p): New function.
	(collect_fn_hard_reg_usage): Handle self-recursive function calls.

	* gcc.target/i386/fuse-caller-save-rec.c: New test.

From-SVN: r212409
2014-07-09 21:03:44 +00:00
Francois-Xavier Coudert
f5168e47a8 libgfortran.h (support_fpu_underflow_control, [...]): New prototypes.
* libgfortran.h (support_fpu_underflow_control,
        get_fpu_underflow_mode, set_fpu_underflow_mode): New prototypes.
	* config/fpu-*.h (support_fpu_underflow_control,
	get_fpu_underflow_mode, set_fpu_underflow_mode):
	New functions.
	* ieee/ieee_arithmetic.F90: Support underflow control.

	* gfortran.dg/ieee/underflow_1.f90: New file.

From-SVN: r212407
2014-07-09 20:32:12 +00:00
Jan Hubicka
958c1d61b1 * ipa-devirt.c (record_node): Walk through aliases.
From-SVN: r212406
2014-07-09 20:00:25 +00:00
Jan Hubicka
da22f50517 * lto-streamer-out.c (hash_scc): Avoid quadratic hashing loop.
From-SVN: r212404
2014-07-09 19:09:50 +00:00
Richard Biener
63dfbb9505 re PR c/61741 (wrong code with -fno-strict-overflow)
2014-07-09  Richard Biener  <rguenther@suse.de>

	PR c-family/61741
	* c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
	using unsigned arithmetic if overflow does not wrap instead of
	if overflow is undefined.

	* c-c++-common/torture/pr61741.c: New testcase.

From-SVN: r212400
2014-07-09 17:14:11 +00:00
Pat Haugen
bde56a1d4d * lib/target-supports.exp
(check_effective_target_logical_op_short_circuit): Add powerpc*-*-*.

From-SVN: r212398
2014-07-09 16:26:00 +00:00
Jan Hubicka
1469344a8b revert: stor-layout.c (finish_builtin_struct): Copy fields into the variants.
Revert:
	* stor-layout.c (finish_builtin_struct): Copy fields into the variants.

From-SVN: r212397
2014-07-09 16:11:53 +00:00
Jan Hubicka
ef68f4ab65 ipa-visibility.c (function_and_variable_visibility): Remove temporary hack disabling local aliases on AIX.
* ipa-visibility.c (function_and_variable_visibility): Remove
	temporary hack disabling local aliases on AIX.

From-SVN: r212396
2014-07-09 16:06:17 +00:00
Jan Hubicka
8ad274d2c2 ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
* ipa-cp.c (devirtualization_time_bonus): Walk through aliases.
	* ipa-inline-analysis.c (estimate_edge_devirt_benefit): Likewise.

From-SVN: r212395
2014-07-09 16:03:14 +00:00
Jan Hubicka
9af4687354 rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
* rs6000/rs6000-protos.h (rs6000_xcoff_declare_object_name): Declare.
	* rs6000/rs6000.c: Inline output of .set instruction.
	(declare_alias_data): New struct.
	(rs6000_declare_alias): New function.
	(rs6000_xcoff_declare_function_name): Use it.
	(rs6000_xcoff_declare_object_name): New function.
	* config/rs6000/xcoff.h: Define ASM_DECLARE_OBJECT_NAME.
	(ASM_OUTPUT_DEF): Turn to empty definition.

From-SVN: r212394
2014-07-09 15:56:40 +00:00
Edward Smith-Rowland
7aee864645 PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
libcpp/

2014-07-09  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
	by preprocessor
	* lex.c (lex_raw_string ()): Do not warn about invalid suffix
	if skipping. (lex_string ()): Ditto.


gcc/testsuite/

2014-07-09  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR c++/58155 - -Wliteral-suffix warns about tokens which are skipped
	g++.dg/cpp0x/pr58155.C: New.

From-SVN: r212392
2014-07-09 13:33:58 +00:00
Mark Wielaard
676c36d870 java: Use build_qualified_type instead of build_type_variant.
gcc/java/ChangeLog

	* builtins.c (putVolatile_builtin): Use build_qualified_type
	instead of build_type_variant.
	(getVolatile_builtin): Likewise.
	(build_classdollar_field): Likewise.

From-SVN: r212389
2014-07-09 10:56:39 +00:00
Bernd Schmidt
059345ce40 Avoid using create_tmp_var for static decls.
* trans-array.c (gfc_build_constant_array_constructor): Build a
	static decl manually.
	* trans-decl.c (create_main_function): Likewise.

From-SVN: r212388
2014-07-09 10:34:40 +00:00
Dominique d'Humieres
7bb7b83693 re PR testsuite/61453 (gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't "call")
2014-07-09  Dominique d'Humieres <dominiq@lps.ens.fr>

	PR testsuite/61453
	* gfortran.dg/gfortran.dg/bind_c_array_params_2.f90:
	Adjust regexp for more targets.

From-SVN: r212387
2014-07-09 11:01:06 +02:00
Andrew Sutton
f47910b51e re PR c++/59361 (cannot expand parenthesized pack expression)
/cp
2014-07-09  Andrew Sutton  <andrew.n.sutton@gmail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59361
	* parser.c (cp_parser_tokens_start_cast_expression): Return 0 for
	CPP_ELLIPSIS too.

/testsuite
2014-07-09  Andrew Sutton  <andrew.n.sutton@gmail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59361
	* g++.dg/cpp0x/vt-59361.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r212386
2014-07-09 08:32:43 +00:00
Trevor Saunders
e4e01495cc playcate old gcc
gcc/

	PR bootstrap/61679
	 * hash-table.h: use hash_table::value_type instead of
       	Descriptor::value_type in the return types of several methods.

From-SVN: r212384
2014-07-09 03:07:09 +00:00
Trevor Saunders
558d255943 remove has_execute
gcc/

	* tree-pass.h (pass_data): Remove has_execute member.
	* passes.c (execute_one_pass): Don't check pass->has_execute.
	* asan.c, auto-inc-dec.c, bb-reorder.c, bt-load.c, cfgcleanup.c,
	cfgexpand.c, cfgrtl.c, cgraphbuild.c, combine-stack-adj.c, combine.c,
	compare-elim.c, config/arc/arc.c, config/epiphany/mode-switch-use.c,
	config/epiphany/resolve-sw-modes.c, config/i386/i386.c,
	config/mips/mips.c, config/rl78/rl78.c, config/s390/s390.c,
	config/sh/sh_optimize_sett_clrt.cc, config/sh/sh_treg_combine.cc,
	config/sparc/sparc.c, cprop.c, cse.c, dce.c, df-core.c, dse.c,
	dwarf2cfi.c, except.c, final.c, function.c, fwprop.c, gcse.c,
	gimple-low.c, gimple-ssa-isolate-paths.c,
	gimple-ssa-strength-reduction.c, graphite.c, ifcvt.c, init-regs.c,
	ipa-comdats.c, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c,
	ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c,
	ipa-split.c, ipa-visibility.c, ipa.c, ira.c, jump.c, loop-init.c,
	lower-subreg.c, mode-switching.c, modulo-sched.c, omp-low.c, passes.c,
	postreload-gcse.c, postreload.c, predict.c, recog.c, ree.c,
	reg-stack.c, regcprop.c, reginfo.c, regrename.c, reorg.c, sched-rgn.c,
	stack-ptr-mod.c, store-motion.c, tracer.c, trans-mem.c,
	tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c,
	tree-eh.c, tree-emutls.c, tree-if-conv.c, tree-into-ssa.c,
	tree-loop-distribution.c, tree-nrv.c, tree-object-size.c,
	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
	tree-sra.c, tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-copyrename.c,
	tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
	tree-ssa-ifcombine.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c,
	tree-ssa-loop-ivcanon.c, tree-ssa-loop-prefetch.c,
	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, tree-ssa-math-opts.c,
	tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c,
	tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c,
	tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-ssa-uninit.c,
	tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c,
	tree-tailcall.c, tree-vect-generic.c, tree-vectorizer.c, tree-vrp.c,
	tree.c, tsan.c, ubsan.c, var-tracking.c, vtable-verify.c,
	web.c: Remove initializer for pass_data::has_execute.

From-SVN: r212383
2014-07-09 03:06:49 +00:00
Trevor Saunders
f98df77ce3 convert some hash_table to hash_map
gcc/

	* graphite-htab.h: Use hash_map instead of hash_table.
	* graphite-clast-to-gimple.c: Adjust.
	* passes.c: Use hash_map instead of hash_table.
	* sese.c: Likewise.
	* sese.h: Remove now unused code.

From-SVN: r212382
2014-07-09 03:06:09 +00:00
Mike Stump
677f36a639 Fix pr60226.c on darwin.
From-SVN: r212381
2014-07-09 01:02:31 +00:00
Sriraman Tallam
dc58164b85 re PR target/61599 ([x86_64] With -mcmodel=medium, extern global arrays without size are not treated conservatively.)
2014-07-08  Sriraman Tallam  <tmsriram@google.com>

	PR target/61599
	* config/i386/i386.c (ix86_in_large_data_p): Check for size less
	than zero.

	PR target/61599
	* gcc.target/i386/pr61599-1.c: New test.
	* gcc.target/i386/pr61599-2.c: New test.

From-SVN: r212380
2014-07-09 00:50:25 +00:00
GCC Administrator
fcb090b2cc Daily bump.
From-SVN: r212379
2014-07-09 00:17:14 +00:00
Ian Lance Taylor
fd4de8b2be re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
PR go/61308

compiler: Convert array start index before bounds checking.

From-SVN: r212372
2014-07-08 21:28:17 +00:00
Ian Lance Taylor
0630a48fdf re PR go/61746 (A line starting with /*// causes an error even if the /* is closed on the next line)
PR go/61746
compiler: Fix C-style comment parsing.

The compiler was incorrectly seeing /*/ as a complete C-style
comment.

From-SVN: r212370
2014-07-08 20:49:38 +00:00
Jakub Jelinek
7e6d8fd9f6 re PR rtl-optimization/61673 (Miscompilation of _gnutls_hostname_compare on s390)
PR rtl-optimization/61673
	* combine.c (simplify_comparison): Test just mode's sign bit
	in tmode rather than the sign bit and any bits above it.

	* gcc.c-torture/execute/pr61673.c: New test.

From-SVN: r212364
2014-07-08 17:39:36 +02:00
Roman Gareev
e4a452b215 graphite-isl-ast-to-gimple.c (generate_isl_context): Add __isl_give to the declaration.
gcc/
	* graphite-isl-ast-to-gimple.c (generate_isl_context):
	Add __isl_give to the declaration.
	(generate_isl_schedule): Likewise.
	(scop_to_isl_ast): Likewise.

From-SVN: r212361
2014-07-08 13:51:26 +00:00
Jonathan Wakely
b3771d3f6f allocated_ptr.h (__allocated_ptr::operator=): Add missing return.
* include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
	missing return.
	* include/experimental/any: Remove unused header.
	* include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
	* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
	* testsuite/util/testsuite_regex.h: Move include guard.

From-SVN: r212360
2014-07-08 14:22:14 +01:00
Kyrylo Tkachov
b2c06385fe [ARM] Cortex-A5 rtx costs table
* config/arm/arm.c (cortexa5_extra_costs): New table.
	(arm_cortex_a5_tune): Use cortexa5_extra_costs.

From-SVN: r212358
2014-07-08 13:17:13 +00:00
Jakub Jelinek
b48e3948be re PR middle-end/61725 (__builtin_ffs(0) leads to wrong code generation)
PR tree-optimization/61725
	* tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
	range, use range_includes_zerop_p instead of integer_zerop on
	vr0->min, only use log2 of max if min is not negative.

	* gcc.dg/tree-ssa/vrp93.c: New test.
	* gcc.c-torture/execute/pr61725.c: New test.

From-SVN: r212353
2014-07-08 11:39:57 +02:00
Richard Biener
a59d8e8eb6 tree-ssa-dom.h (loop_depth_of_name): Remove.
2014-07-08  Richard Biener  <rguenther@suse.de>

	* tree-ssa-dom.h (loop_depth_of_name): Remove.
	* tree-ssa-dom.c (record_equivalences_from_phis): Remove
	restriction on loop depth difference.
	(record_equality): Likewise.
	(propagate_rhs_into_lhs): Likewise.  Simplify condition.
	(loop_depth_of_name): Remove.
	* tree-ssa-copy.c (copy_prop_visit_phi_node): Remove
	restriction on loop depth difference.
	(init_copy_prop): Likewise.

	* gcc.dg/tree-ssa/ssa-pre-16.c: Adjust expected eliminations.

From-SVN: r212352
2014-07-08 09:22:54 +00:00
Jan Hubicka
70f633c5b3 tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED parameter.
* tree-ssa-alias.c (walk_aliased_vdefs_1): Add FUNCTION_ENTRY_REACHED
	parameter.
	(walk_aliased_vdefs): Likewise.
	* tree-ssa-alias.h (walk_aliased_vdefs): Likewise.
	* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers
	(detect_type_change_from_memory_writes): Check if entry was reached.

From-SVN: r212351
2014-07-08 09:12:56 +00:00
Rainer Orth
7f7563747e Use FP_RN etc. unconditionally
* config/fpu-sysv.h (get_fpu_rounding_mode): Use FP_RN, FP_RP,
	FP_RM, FP_RZ unconditionally.
	(set_fpu_rounding_mode): Likewise.

From-SVN: r212350
2014-07-08 09:08:49 +00:00
Richard Biener
e8e938e0b0 re PR tree-optimization/61681 (wrong code at -Os and above on x86_64-linux-gnu)
2014-07-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61681
	* tree-ssa-structalias.c (find_what_var_points_to): Expand
	NONLOCAL inside ESCAPED.

	* gcc.dg/torture/pr61681.c: New testcase.

From-SVN: r212349
2014-07-08 09:04:29 +00:00
Richard Biener
e33f43b9a6 re PR tree-optimization/61680 (vectorization gives wrong answer for sandybridge target)
2014-07-08  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61680
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
	Handle properly all read-write dependences with group accesses.

	* gcc.dg/vect/pr61680.c: New testcase.

From-SVN: r212348
2014-07-08 08:59:17 +00:00
Yuri Rumyantsev
0f6284d27f re PR tree-optimization/61576 (wrong code at -O3 on x86_64-linux-gnu)
PR tree-optimization/61576

gcc/
	* tree-if-conv.c (is_cond_scalar_reduction): Add check that
	basic block containing reduction statement is predecessor
	of phi basi block.

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

From-SVN: r212347
2014-07-08 07:52:12 +00:00
Marek Polacek
605f12f4dc re PR middle-end/60226 (ICE initializing array of elements with too large alignment)
PR c/60226
	* fold-const.c (round_up_loc): Change the parameter type.
	Remove assert.
	* fold-const.h (round_up_loc): Adjust declaration.
	* stor-layout.c (finalize_record_size): Check for too large types.

	* c-c++-common/pr60226.c: New test.

From-SVN: r212346
2014-07-08 05:38:12 +00:00