Commit Graph

135229 Commits

Author SHA1 Message Date
Marek Polacek
01ada71078 re PR middle-end/64309 (if (1 & (1 << n)) not simplified to if (n == 0))
PR middle-end/64309
	* match.pd: Add ((1 << A) & 1) != 0 -> A == 0 and
	((1 << A) & 1) == 0 -> A != 0.

	* gcc.dg/pr64309.c: New test.

From-SVN: r218787
2014-12-16 18:29:01 +00:00
Richard Biener
d0af2c6589 genmatch.c (parser::parser): Initialize capture_ids.
2014-12-16  Richard Biener  <rguenther@suse.de>

	* genmatch.c (parser::parser): Initialize capture_ids.
	(parser::parse_pattern): Properly allocate capture_ids before
	using them.  Set capture_ids to zero when its lifetime is
	supposed to finish.
	(parser::parse_simplify): Allocate capture_ids only if
	required.

From-SVN: r218786
2014-12-16 18:24:55 +00:00
Jakub Jelinek
7e2ac29ecb gnu.ver (CXXABI_1.3.9): Export not just _Zd[la]Pvm...
* config/abi/pre/gnu.ver (CXXABI_1.3.9): Export not just
	_Zd[la]Pvm, but also _Zd[la]Pv[jy] to cover other std::size_t
	manglings.

From-SVN: r218785
2014-12-16 18:42:24 +01:00
Jason Merrill
47830a4d38 gnu-versioned-namespace.ver: And other size_t manglings.
* config/abi/pre/gnu-versioned-namespace.ver: And other size_t
	manglings.

From-SVN: r218784
2014-12-16 12:21:42 -05:00
Michael Haubenwallner
bc1c9c2203 Both config.h and system.h define ABI/API macros for system headers.
* sreal.c: Include math.h later.

From-SVN: r218783
2014-12-16 17:14:49 +00:00
Michael Haubenwallner
9733278a16 MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r218782
2014-12-16 16:10:23 +00:00
Jason Merrill
4244b840bd gnu-versioned-namespace.ver: Export _ZdlPvm and _ZdaPvm.
* config/abi/pre/gnu-versioned-namespace.ver: Export _ZdlPvm and
	_ZdaPvm.

From-SVN: r218781
2014-12-16 10:48:58 -05:00
Felix Yang
cc75dc899e re PR target/64240 ([AArch64] SMS-3.c causes runtime exception(segfault).)
+       PR rtl-optimization/64240
+       * ddg.c (mark_mem_use): Check *iter instead of *x.

From-SVN: r218780
2014-12-16 14:58:03 +00:00
Martin Liska
5007f79810 re PR other/64278 (/sreal.c:254:22: error: call of overloaded 'abs(const int64_t&)' is ambiguous)
Fix for PR ipa/64278

	* sreal.c (sreal::operator*): Replace std::abs with absu_hwi.

From-SVN: r218779
2014-12-16 14:55:29 +00:00
Jakub Jelinek
f2798565b4 sanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
	sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
	sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
	upstream r224308.

From-SVN: r218778
2014-12-16 12:35:34 +01:00
Igor Zamyatin
ad52126ec3 i386.c (ix86_address_cost): Add explicit restriction to RTL level for the check for PIC register.
gcc/
	* config/i386/i386.c (ix86_address_cost): Add explicit restriction
	to RTL level for the check for PIC register.

From-SVN: r218777
2014-12-16 08:35:29 +00:00
Janus Weil
744868aa9c re PR fortran/64244 (ICE at class.c:236 when using non_overridable)
2014-12-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64244
	* resolve.c (resolve_typebound_call): New argument to pass out the
	non-overridable attribute of the specific procedure.
	(resolve_typebound_subroutine): Get overridable flag from
	resolve_typebound_call.

2014-12-16  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/64244
	* gfortran.dg/typebound_call_26.f90: New.

From-SVN: r218776
2014-12-16 09:15:38 +01:00
Uros Bizjak
728f661cf5 gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...
* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Move from here ...
	* config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): ... and here ...
	* config/i386/gnu-user-common.h (TARGET_CAN_SPLIT_STACK): ... to here.

From-SVN: r218775
2014-12-16 08:49:53 +01:00
Chung-Ju Wu
24f036fbc5 re PR target/64217 (LRA: generate wrong liveness info after r217947 for clobber in jump_insn)
PR target/64217
	* config/nds32/nds32.md (casesi_internal): Add '=r' for clobber
	register constraint.

From-SVN: r218774
2014-12-16 06:22:35 +00:00
GCC Administrator
e503ecc1e2 Daily bump.
From-SVN: r218772
2014-12-16 00:16:40 +00:00
Jan Hubicka
2e118f3cd2 decl2.c (decl_needed_p): When not optimizing, do not consider external decls as needed.
* decl2.c (decl_needed_p): When not optimizing, do not consider external
	decls as needed.

From-SVN: r218769
2014-12-15 22:50:18 +00:00
DJ Delorie
daca16d1f0 * config/rl78/rl78.h: Remove SHORT_IMMEDIATES_SIGN_EXTEND.
From-SVN: r218768
2014-12-15 17:41:22 -05:00
Jan Hubicka
6c36539dcf re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offset/tree.c:11914)
PR lto/64043
	* gcc.dg/lto/20110201-1_0.c: New testcase.

	* tree-streamer.c (preload_common_nodes): Skip preloading
	of main_identifier_node, pid_type and optimization/option nodes.

From-SVN: r218767
2014-12-15 22:35:20 +00:00
Vladimir Makarov
2bf7560bd3 re PR rtl-optimization/63397 (signed integer overflows in ira.c)
2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/63397
	* ira-int.h (ira_overall_cost, ira_reg_cost, ira_mem_cost): Use
	int64_t.
	(ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
	* ira.c (ira_overall_cost, ira_overall_cost_before): Ditto.
	(ira_reg_cost, ira_mem_cost): Ditto.
	(ira_load_cost, ira_store_cost, ira_shuffle_cost): Ditto.
	(calculate_allocation_cost, do_reload): Use the right
	format for int64_t values.

From-SVN: r218766
2014-12-15 22:18:51 +00:00
Jan Hubicka
2bef63e105 sreal.h (to_double): New method.
* sreal.h (to_double): New method.
	(shift): Do not ICE on 0.
	* sreal.c: Include math.h
	(sreal::to_double): New.

From-SVN: r218765
2014-12-15 22:03:11 +00:00
Ian Lance Taylor
426bcc95cb re PR go/61255 (gccgo: spurious "error: argument 2 has incompatible type" [GoSmith])
PR go/61255
compiler: Copied variadic calls should copy lowering state of arguments.

From-SVN: r218764
2014-12-15 20:20:22 +00:00
Jason Merrill
b07891da2e re PR c++/64297 (ICE: canonical types differ for identical types)
PR c++/64297
	* typeck.c (apply_memfn_quals): Correct wrong TYPE_CANONICAL.

From-SVN: r218763
2014-12-15 15:19:51 -05:00
Jakub Jelinek
3202dcccb9 re PR rtl-optimization/64316 (ICE in simplify_const_unary_operation after r218503)
PR rtl-optimization/64316
	* simplify-rtx.c (simplify_relational_operation_1): For
	(eq/ne (and x y) x) and (eq/ne (and x y) y) optimizations use
	CONST0_RTX instead of const0_rtx.

	* gcc.dg/pr64316.c: New test.

From-SVN: r218762
2014-12-15 21:10:45 +01:00
Vladimir Makarov
d8c1674416 re PR target/62642 (x86 rdtsc is moved through barrier)
2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/62642
	* ira.c (rtx_moveable_p): Prevent UNSPEC_VOLATILE moves.

From-SVN: r218761
2014-12-15 20:04:04 +00:00
Vladimir Makarov
7b6e0c544a ira-int.h (ira_prohibited_class_mode_regs): Remove.
2014-12-15  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-int.h (ira_prohibited_class_mode_regs): Remove.
	(struct target_ira_int): Move x_ira_prohibited_class_mode_regs to
	...
	* ira.h (struct target_ira_int): ... here.
	(ira_prohibited_class_mode_regs): Define.
	* lra-constraints.c (process_alt_operands): Add one more condition
	to refuse alternative when reload pseudo of given class can not
	hold value of given mode.

From-SVN: r218760
2014-12-15 19:51:31 +00:00
Uros Bizjak
2405e0ea00 re PR libgcc/63832 (crtstuff.c:400:19: warning: array subscript is above array bounds [-Warray-bounds])
PR libgcc/63832
	* crtstuff.c (__do_global_dtors_aux) [HIDDEN_DTOR_LIST_END]: Use
	func_ptr *dtor_list temporary variable to avoid "array subscript
	is above array bounds" warnings.

From-SVN: r218759
2014-12-15 19:43:26 +01:00
Jakub Jelinek
c05816d64f re PR rtl-optimization/63804 (ice in find_oldest_value_reg with -g -O2)
PR rtl-optimization/63804
	* gcc.dg/pr63804.c: New test.

From-SVN: r218758
2014-12-15 19:40:35 +01:00
Steven Bosscher
d5e2274d79 re PR fortran/61669 (Error recovery ICE)
PR fortran/61669
	* gfortran.h (struct gfc_namespace): Add OLD_DATA field.
	* decl.c (gfc_reject_data): New function.
	* parse.c *use_modules): Record roll-back point.
	(next_statement): Likewise.
	(reject_statement): Roll back to last accepted DATA.

	* gfortran.dg/pr61669.f90: New test.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r218757
2014-12-15 19:37:59 +01:00
Richard Biener
76be46db72 re PR tree-optimization/64312 (ICE: Segmentation fault)
2014-12-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64312
	* tree-ssa-sccvn.c (vn_reference_lookup_pieces): Use
	vuse_ssa_val as callback to walk_non_aliased_vuses.
	(vn_reference_lookup): Likewise.

	* g++.dg/torture/pr64312.C: New testcase.

From-SVN: r218756
2014-12-15 18:33:16 +00:00
Jason Merrill
20b06addf9 N3778: Sized Deallocation
N3778: Sized Deallocation
gcc/c-family/
	* c.opt (-fsized-deallocation, -Wc++14-compat): New.
	(-Wsized-deallocation): New.
	* c-opts.c (c_common_post_options): -fsized-deallocation defaults
	to on in C++14 and up.
gcc/cp/
	* call.c (non_placement_deallocation_fn_p): A global sized
	operator delete is not a usual deallocation function until C++14.
	(build_op_delete_call): Choose the global sized op delete if we
	know the size.
	* cp-tree.h: Declare non_placement_deallocation_fn_p.
	(enum cp_tree_index): Remove CPTI_GLOBAL_DELETE_FNDECL.
	(global_delete_fndecl): Remove.
	* decl.c (cxx_init_decl_processing): Also declare sized op deletes.
	(grok_op_properties): Warn about sized dealloc without the flag.
	* init.c (build_builtin_delete_call): Remove.
	(build_vec_delete_1, build_delete): Don't call it.
	* decl2.c (maybe_warn_sized_delete): New.
	(cp_write_global_declarations): Call it.
libstdc++-v3/
	* libsupc++/del_ops.cc: New.
	* libsupc++/del_opvs.cc: New.
	* libsupc++/Makefile.am: Add them.
	* libsupc++/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Export _ZdlPvm and _ZdaPvm.

From-SVN: r218755
2014-12-15 13:31:40 -05:00
Ian Lance Taylor
14fa3e7fdf re PR go/61248 (gccgo: spurious "error: too many arguments" [GoSmith])
PR go/61248
compiler: Ignore argument when typechecking converted recover calls.

From-SVN: r218754
2014-12-15 17:33:43 +00:00
Ian Lance Taylor
cb3eb3dce7 re PR go/61253 (gccgo: spurious "error: expected '<-' or '='" [GoSmith])
PR go/61253
compiler: Support RecvStmt = ExpressionList "=" RecvExpr.

From-SVN: r218753
2014-12-15 17:12:26 +00:00
Paolo Carlini
6bfb1253a4 re PR c++/58882 (ICE with invalid C99 style designated initializers)
/cp
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58882
	* decl.c (check_array_designated_initializer): Diagnose gracefully
	C99 designators which aren't integral constant-expressions; allow
	constexpr user-defined type conversion operators.

/testsuite
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58882
	* g++.dg/ext/desig8.C: New.
	* g++.dg/cpp0x/desig1.C: Likewise.

From-SVN: r218752
2014-12-15 16:16:29 +00:00
Janus Weil
d06790a0b2 re PR fortran/63727 ([F03] Checks missing for proc-pointer components: Usage as actual argument when elemental)
2014-12-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63727
	* resolve.c (resolve_actual_arglist): Check for elemental procedure
	pointer components.


2014-12-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63727
	* gfortran.dg/coarray_collectives_14.f90: Address FIXME item.

From-SVN: r218751
2014-12-15 17:10:50 +01:00
Segher Boessenkool
5c8b1abd08 * gcc/config/rs6000/rs6000.md (*add>mode>3_imm_dot,
*add<mode>3_imm_dot2): Change the constraint for the second
	alternative for operand 1 from "r" to "b".

From-SVN: r218750
2014-12-15 15:39:26 +01:00
Richard Biener
27a7de71c7 vec.h (vec::safe_grow): Guard against a grow to zero size.
2014-12-15  Richard Biener  <rguenther@suse.de>

	* vec.h (vec::safe_grow): Guard against a grow to zero size.

From-SVN: r218749
2014-12-15 14:24:06 +00:00
Richard Biener
249700b5f1 re PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations)
2014-12-15  Richard Biener  <rguenther@suse.de>

	PR middle-end/64295
	* match.pd (X / CST -> X * (1 / CST): Use const_binop instead of
	fold_binary to compute the constant to multiply with.

	* gcc.dg/pr64295.c: New testcase.

From-SVN: r218748
2014-12-15 13:01:47 +00:00
Richard Biener
024660c594 re PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)
2014-12-15  Richard Biener  <rguenther@suse.de>

	PR middle-end/64246
	* cfgloop.c (mark_loop_for_removal): Make safe against multiple
	invocations on the same loop.

	* gnat.dg/opt46.adb: New testcase.
	* gnat.dg/opt46.ads: Likewise.
	* gnat.dg/opt46_pkg.adb: Likewise.
	* gnat.dg/opt46_pkg.ads: Likewise.

From-SVN: r218746
2014-12-15 12:20:10 +00:00
Marek Polacek
f52e1d24fd re PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C -O1 (internal compiler error))
PR middle-end/64292
	* fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.

From-SVN: r218745
2014-12-15 12:15:14 +00:00
Thomas Schwinge
4b4f2e35d0 Build machinery cleanup.
* configure.ac (--enable-as-accelerator-for): Don't set
	ENABLE_AS_ACCELERATOR_FOR.  Update all users.
	* configure: Regenerate.

From-SVN: r218744
2014-12-15 11:54:43 +01:00
Jakub Jelinek
f84e7f45f7 re PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ... with -fpic)
PR target/64210
	* gcc.target/i386/avx512f-broadcast-gpr-1.c: Use %(?:e|r\[0-9\]+d)
	instead of %e in regexps trying to match 32-bit GPR.
	* gcc.target/i386/avx512f-vpbroadcastd-1.c: Likewise.
	* gcc.target/i386/avx512vl-vpbroadcastd-1.c: Likewise.
	* gcc.target/i386/avx512vl-vmovdqa64-1.c: Restrict some scan-assembler-times
	lines to nonpic targets only.  Fix up \[^\n^x^y\] to \[^\nxy\].

From-SVN: r218743
2014-12-15 11:50:52 +01:00
Paolo Carlini
2327deb73b pr63996.C: Fix.
2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp1y/pr63996.C: Fix.

From-SVN: r218742
2014-12-15 10:47:53 +00:00
Jakub Jelinek
06ac83a9e0 re PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)
PR tree-optimization/63551
	* gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of
	4294967286 to avoid warnings.

From-SVN: r218740
2014-12-15 11:44:53 +01:00
Janus Weil
41cc1dd00e re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
2014-12-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63674
	* resolve.c (check_pure_function): Rewording in error message.


2014-12-15  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/63674
	* gfortran.dg/forall_5.f90: Modified error message.
	* gfortran.dg/proc_ptr_comp_39.f90: Ditto.
	* gfortran.dg/pure_dummy_length_1.f90: Ditto.
	* gfortran.dg/stfunc_6.f90: Ditto.
	* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218738
2014-12-15 11:34:46 +01:00
Renlin Li
952e78198d [AARCH64]Fix CLZ_DEFINED_AT_ZERO and CTZ_DEFINED_AT_ZERO definition.
gcc/

2014-12-15  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
	(CTZ_DEFINED_VALUE_AT_ZERO): Update to support more modes.

From-SVN: r218737
2014-12-15 09:56:29 +00:00
Jakub Jelinek
9ab3864f62 re PR sanitizer/64265 (r217669 broke tsan)
PR sanitizer/64265
	* tsan.c (instrument_func_entry): Insert __tsan_func_entry
	call on edge from entry block to single succ instead
	of after labels of single succ of entry block.

From-SVN: r218734
2014-12-15 10:37:47 +01:00
Richard Biener
0675001e98 re PR tree-optimization/64284 (ICE: Segmentation fault)
2014-12-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64284
	* tree-ssa-threadupdate.c (duplicate_seme_region): Mark
	the loop for removal if we copied the loop header.

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

From-SVN: r218733
2014-12-15 08:19:55 +00:00
Uros Bizjak
451f119935 server.c (server_setup): Check return value of getcwd and in case of error set buff[0] to 0.
* server.c (server_setup): Check return value of
	getcwd and in case of error set buff[0] to 0.

From-SVN: r218732
2014-12-15 09:10:41 +01:00
Jan Hubicka
dea91a66ff re PR ipa/61602 (ICE in lto1 on x86_64-linux-gnu in ipa_single_use, at ipa.c:1257)
PR ipa/61602
	* gcc.dg/torture/pr61602.c: New testcase.

	* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Return bool.
	* ipa.c (set_writeonly_bit): Track if reference was removed.
	(ipa_discover_readonly_nonaddressable_vars): Return true if any
	references was removed.
	* ipa-reference.c (propagate): Return TODO_remove_functions if
	reference was removed.

From-SVN: r218731
2014-12-15 06:19:51 +00:00
Jan Hubicka
f1ced6f5e7 * ipa.c (process_references): Fix conditoinal on flag_optimize
From-SVN: r218730
2014-12-15 03:47:18 +00:00