Commit Graph

126845 Commits

Author SHA1 Message Date
Richard Biener
635bfae029 re PR tree-optimization/59245 (ICE on valid code at -O3 on x86_64-linux-gnu in set_value_range, at tree-vrp.c:443)
2013-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59245
	* tree-vrp.c (set_value_range): Assert that we don't have
	overflowed constants (but our infinities).
	(set_value_range_to_value): Drop all overflow flags.
	(vrp_visit_phi_node): Likewise.
	(vrp_visit_assignment_or_call): Use set_value_range_to_value
	to set a constant range.

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

From-SVN: r205395
2013-11-26 15:14:52 +00:00
Kyrylo Tkachov
a866fa46ea re PR target/59290 ([ARM] regression on negdi-2.c (big-endian))
[gcc/]
2013-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/59290
	* config/arm/arm.md (*zextendsidi_negsi): New pattern.
	* config/arm/arm.c (arm_new_rtx_costs): Initialise cost correctly
	for zero_extend case.

[gcc/testsuite/]
2013-11-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/59290
	* gcc.target/arm/negdi-2.c: Scan more general register names.

From-SVN: r205394
2013-11-26 15:06:06 +00:00
H.J. Lu
40f213e6f5 Add -fuse-ld=bfd/-fuse-ld=gold support to exec-tool.in
PR bootstrap/55552
	* configure.ac (install_gold_as_default): New.  Set to yes for
	--disable-ld or --enable-gold=default.
	(gcc_cv_ld_gold_srcdir): New.
	(gcc_cv_ld): Also check in-tree gold if install_gold_as_default
	is yes.
	(ORIGINAL_LD_BFD_FOR_TARGET): New AC_SUBST.
	(ORIGINAL_LD_GOLD_FOR_TARGET): Likewise.
	* configure: Regenerated.

	* exec-tool.in (ORIGINAL_LD_BFD_FOR_TARGET): New variable.
	(ORIGINAL_LD_GOLD_FOR_TARGET): Likewise.
	(original) [collect-ld && -fuse-ld=bfd]: Set to
	$ORIGINAL_LD_BFD_FOR_TARGET.
	(original) [collect-ld && -fuse-ld=gold]: Set to
	$ORIGINAL_LD_GOLD_FOR_TARGET.
	(dir) [collect-ld && ../gold/ld-new]: Set to gold.
	(fast_install) [collect-ld && ../gold/ld-new]: Set to yes.

From-SVN: r205392
2013-11-26 05:31:25 -08:00
Terry Guo
84c44566f3 arm.c (require_pic_register): Handle high pic base register for thumb-1.
gcc/ChangeLog
2013-11-26  Terry Guo  <terry.guo@arm.com>

	* config/arm/arm.c (require_pic_register): Handle high pic base
	register for thumb-1.
	(arm_load_pic_register): Also initialize high pic base register.
	* doc/invoke.texi: Update documentation for option -mpic-register.

gcc/testsuite/ChangeLog
2013-11-26  Terry Guo  <terry.guo@arm.com>

	* gcc.target/arm/thumb1-pic-high-reg.c: New case.
	* gcc.target/arm/thumb1-pic-single-base.c: New case.

From-SVN: r205391
2013-11-26 11:58:37 +00:00
Oleg Endo
91f65b12bb re PR target/58314 (SH4 error: 'asm' operand requires impossible reload)
PR target/58314
	PR target/50751
	* config/sh/sh.c (max_mov_insn_displacement, disp_addr_displacement):
	Prefix function names with 'sh_'.  Make them non-static.
	* config/sh/sh-protos.h (sh_disp_addr_displacement,
	sh_max_mov_insn_displacement): Add declarations.
	* config/sh/constraints.md (Q): Reject QImode.
	(Sdd): Use match_code "mem".
	(Snd): Fix erroneous matching of non-memory operands.
	* config/sh/predicates.md (short_displacement_mem_operand): New
	predicate.
	(general_movsrc_operand): Disallow PC relative QImode loads.
	* config/sh/sh.md (*mov<mode>_reg_reg): Remove it.
	(*movqi, *movhi): Merge both insns into...
	(*mov<mode>): ... this new insn.  Replace generic 'm' constraints with
	'Snd' and 'Sdd' constraints.  Calculate insn length dynamically based
	on the operand types.

From-SVN: r205390
2013-11-26 11:48:16 +00:00
Paolo Carlini
8d590b9cb3 re PR c++/58700 (ICE declaring static bit-field)
/cp
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58700
	* decl.c (grokdeclarator): Don't try to pass declarator->id_loc
	to build_lang_decl_loc when declarator is null.

/testsuite
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58700
	* g++.dg/parse/bitfield4.C: New.

From-SVN: r205389
2013-11-26 11:31:46 +00:00
Joern Rennecke
160051af93 Fix --enable-werror-always build errors:
* config/epiphany/epiphany.c (epiphany_expand_prologue):
        Remove unused variable save_config.
        (epiphany_compute_frame_size): Avoid signed/unsigned comparison in
        assert.

From-SVN: r205388
2013-11-26 11:04:00 +00:00
Paolo Carlini
d2504d682b cvt.c (cp_convert_and_check): Avoid calling cp_convert unnecessarily.
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* cvt.c (cp_convert_and_check): Avoid calling cp_convert
	unnecessarily.

From-SVN: r205387
2013-11-26 10:12:30 +00:00
James Greenhalgh
793c28b87f [AArch64] [4/4 Fix vtbx1] Handle vtbx{1,3} emulation sequence using
other intrinsics

gcc/
	* config/aarch64/arm_neon.h (vtbx1_<psu>8): Emulate behaviour
	using other intrinsics.
	(vtbx3_<psu>8): Likewise.

From-SVN: r205386
2013-11-26 10:04:51 +00:00
James Greenhalgh
46e778c4f5 [AArch64] [3/4 Fix vtbx1]Implement bsl intrinsics using builtins
gcc/
	* config/aarch64/aarch64-builtins.c
	(aarch64_types_bsl_p_qualifiers): New.
	(aarch64_types_bsl_s_qualifiers): Likewise.
	(aarch64_types_bsl_u_qualifiers): Likewise.
	(TYPES_BSL_P): Likewise.
	(TYPES_BSL_S): Likewise.
	(TYPES_BSL_U): Likewise.
	(BUILTIN_VALLDIF): Likewise.
	(BUILTIN_VDQQH): Likewise.
	* config/aarch64/aarch64-simd-builtins.def (simd_bsl): New.
	* config/aarch64/aarch64-simd.md
	(aarch64_simd_bsl<mode>_internal): Handle more modes.
	(aarch64_simd_bsl<mode>): Likewise.
	* config/aarch64/arm_neon.h
	(vbsl<q>_<fpsu><8,16,32,64): Implement using builtins.
	* config/aarch64/iterators.md (VALLDIF): New.
	(Vbtype): Handle more modes.

From-SVN: r205385
2013-11-26 10:03:14 +00:00
James Greenhalgh
6db1ec948e [AArch64] [2/4 Fix vtbx1] Handle poly types in the new Simd types infrastructure
gcc/
	* config/aarch64/aarch64-builtins.c
	(aarch64_type_qualifiers): Add qualifier_poly.
	(aarch64_build_scalar_type): Also build Poly types.
	(aarch64_build_vector_type): Likewise.
	(aarch64_build_type): Likewise.
	(aarch64_build_signed_type): New.
	(aarch64_build_unsigned_type): Likewise.
	(aarch64_build_poly_type): Likewise.
	(aarch64_init_simd_builtins): Also handle Poly types.

From-SVN: r205384
2013-11-26 10:00:49 +00:00
James Greenhalgh
e993fea1ac [AArch64] [1/4 Fix vtbx1] Allow signed and unsigned versions of intrinsics
to coexist.

gcc/
	* config/aarch64/aarch64-builtins.c
	(VAR1): Use new naming scheme for aarch64_builtins.
	(aarch64_builtin_vectorized_function): Use new
	aarch64_builtins names.

From-SVN: r205383
2013-11-26 09:59:10 +00:00
Richard Biener
e8e9e1cda4 re PR tree-optimization/59287 (points-to analysis confused by union accesses)
2013-11-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59287
	* tree-ssa-structalias.c (get_constraint_for_component_ref):
	Remove no longer necessary special-casing of union accesses.

	* gcc.dg/tree-ssa/alias-29.c: New testcase.

From-SVN: r205380
2013-11-26 09:04:44 +00:00
Richard Biener
65f5c720ad pretty-print.c (output_buffer::~output_buffer): Really free the obstacks.
2013-11-26  Richard Biener  <rguenther@suse.de>

	* pretty-print.c (output_buffer::~output_buffer): Really
	free the obstacks.

From-SVN: r205379
2013-11-26 08:45:18 +00:00
GCC Administrator
93d210970c Daily bump.
From-SVN: r205372
2013-11-26 00:17:23 +00:00
Ian Lance Taylor
0fea993fa8 syscall: Set SizeofSockaddrAny to the value the go distribution uses
In particular this means that the names Getsockname returns are not
truncated to 26 characters.

Fixes issue 6829

https://codereview.appspot.com/31840043/

From-SVN: r205368
2013-11-25 22:54:05 +00:00
Paolo Carlini
97d12d29aa re PR c++/54485 (g++ should diagnose default arguments in out-of-line definitions for template class member functions)
/cp
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54485
	* decl.c (duplicate_decls): Enforce 8.3.6/6 about default arguments
	for member functions of class templates.

/testsuite
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/54485
	* g++.dg/other/default8.C: New.
	* g++.dg/tc1/dr217.C: Remove xfail.
	* g++.dg/other/default5.C: Adjust.
	* g++.old-deja/g++.mike/p1989.C: Likewise.

From-SVN: r205367
2013-11-25 22:24:58 +00:00
Paolo Carlini
4fd602a1e0 re PR c++/58607 ([c++11] ICE with undeclared variable in constexpr)
/cp
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58607
	* semantics.c (check_constexpr_ctor_body): Check for BIND_EXPR_VARS.

/testsuite
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58607
	* g++.dg/cpp0x/constexpr-ice9.C: New.

From-SVN: r205364
2013-11-25 20:51:56 +00:00
Jeff Law
807b703171 tree-ssa-threadupdate.c (thread_through_all_blocks): Selectively invalidate loop information.
* tree-ssa-threadupdate.c (thread_through_all_blocks): Selectively
	invalidate loop information.

From-SVN: r205361
2013-11-25 11:24:57 -07:00
Oleg Endo
82552a29d4 crt1.S (start): Don't do VBR_SETUP for SH2E.
* config/sh/crt1.S (start): Don't do VBR_SETUP for SH2E.

From-SVN: r205360
2013-11-25 17:11:50 +00:00
Oleg Endo
7457ebb81d sh.md (doloop_end_split): Add missing SI mode.
* config/sh/sh.md (doloop_end_split): Add missing SI mode.

From-SVN: r205359
2013-11-25 17:04:17 +00:00
Oleg Endo
aaa57c69e6 re PR target/53976 ([SH] Unnecessary clrt/sett after bt/bf)
PR target/53976
	PR target/59243
	* config/sh/sh_optimize_sett_clrt.cc (struct ccreg_value): Update
	comments.
	(sh_optimize_sett_clrt::find_last_ccreg_values): Check stack of
	previously visited basic blocks before recursing instead of only one
	basic block.

From-SVN: r205358
2013-11-25 16:47:16 +00:00
Rainer Orth
1b7b698a06 Remove GCC_LIBSTDCXX_RAW_CXX_FLAGS
* configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): Remove.
	* configure: Regenerate.

From-SVN: r205357
2013-11-25 16:32:22 +00:00
Paolo Carlini
6f640d1576 re PR c++/58810 (ICE with invalid function typedef)
/cp
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58810
	* decl.c (grokdeclarator): Don't handle qualified free functions here,
	leave the diagnostic to grokfndecl.

/testsuite
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58810
	* g++.dg/other/cv_func3.C: New.
	* g++.dg/other/cv_func.C: Adjust.
	* g++.dg/parse/fn-typedef2.C: Likewise.

From-SVN: r205356
2013-11-25 16:10:29 +00:00
Rainer Orth
80e8745780 Suppress some warnings for soft-fp files
* config/t-softfp (soft-fp-objects-base): New variable.
	(soft-fp-objects): Use it.

From-SVN: r205355
2013-11-25 16:02:12 +00:00
Kyrylo Tkachov
984239ade9 aarch64.c (cortexa53_tuning): New struct.
* config/aarch64/aarch64.c (cortexa53_tuning): New struct.
	* config/aarch64/aarch64-cores.def (cortex-a53):
	Use cortexa53 tuning struct.

From-SVN: r205354
2013-11-25 15:26:04 +00:00
Andrew MacLeod
ae16b241ce re PR bootstrap/59260 (fold-const.c:14871:5: error: 'hash_table' has not been declared)
PR bootstrap/59260
	* fold-const.c: Include hash-table.h.

From-SVN: r205352
2013-11-25 13:23:09 +00:00
Marek Polacek
ecd51813f1 pr59250.C: New test.
2013-11-25  Marek Polacek  <polacek@redhat.com>

testsuite/
	* g++.dg/ubsan/pr59250.C: New test.

From-SVN: r205349
2013-11-25 11:17:23 +00:00
Marek Polacek
7d7b5c7a4b Fix up CL.
From-SVN: r205348
2013-11-25 11:15:08 +00:00
Marek Polacek
39a4816e40 ubsan.c (ubsan_create_data): Increase the size of the fields array.
2013-11-25  Marek Polacek  <polacek@redhat.com>

	* ubsan.c (ubsan_create_data): Increase the size of the fields array.

From-SVN: r205347
2013-11-25 10:46:20 +00:00
Richard Biener
4d717338df tree-dfa.c: Remove unused convert.h include.
2013-11-25  Richard Biener  <rguenther@suse.de>

	* tree-dfa.c: Remove unused convert.h include.

From-SVN: r205346
2013-11-25 09:58:03 +00:00
Janus Weil
3436db7558 re PR fortran/59143 ([OOP] Bogus warning with array-valued type-bound procedure)
2013-11-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59143
	* interface.c (get_expr_storage_size): Handle array-valued type-bound
	procedures.

2013-11-25  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59143
	* gfortran.dg/typebound_proc_30.f90: New.

From-SVN: r205345
2013-11-25 10:45:40 +01:00
Paolo Carlini
7c3001f41a re PR c++/59080 ([c++11] ICE with array of auto)
/cp
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59080
	* pt.c (unify): Don't call unify_array_domain with a NULL_TREE
	third argument.

	PR c++/59096
	* pt.c (apply_late_template_attributes): Check that TREE_VALUE
	isn't NULL_TREE in the attribute_takes_identifier_p case.

/testsuite
2013-11-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59080
	* g++.dg/cpp0x/initlist75.C: New.

	PR c++/59096
	* g++.dg/cpp0x/gen-attrs-57.C: New.

From-SVN: r205344
2013-11-25 09:29:18 +00:00
Adam Butcher
d1d1af106b Disallow implicit function templates in local functions unless defining a lambda.
gcc/cp/
	PR c++/59112
	PR c++/59113
	* parser.c (cp_parser_parameter_declaration_clause): Disallow implicit
	function templates in local functions unless defining a lambda.

gcc/testsuite/
	PR c++/59112
	PR c++/59113
	g++.dg/cpp1y/pr58533.C: Updated testcase.
	g++.dg/cpp1y/pr59112.C: New testcase.
	g++.dg/cpp1y/pr59113.C: New testcase.

From-SVN: r205343
2013-11-25 07:43:55 +00:00
Terry Guo
02231c1350 invoke.texi (-mslow-flash-data): Document new option.
gcc/ChangeLog
2013-11-25  Terry Guo  <terry.guo@arm.com>

	* doc/invoke.texi (-mslow-flash-data): Document new option.
	* config/arm/arm.opt (mslow-flash-data): New option.
	* config/arm/arm-protos.h (arm_max_const_double_inline_cost): Declare
	it.
	* config/arm/arm.h (TARGET_USE_MOVT): Always true when literal pools
	are disabled.
	(arm_disable_literal_pool): Declare it.
	* config/arm/arm.c (arm_disable_literal_pool): New variable.
	(arm_option_override): Handle new option.
	(thumb2_legitimate_address_p): Don't allow symbol references when
	literal pools are disabled.
	(arm_max_const_double_inline_cost): New function.
	* config/arm/arm.md (types.md): Include it before ...
	(use_literal_pool): New attribute.
	(enabled): Use new attribute.
	(split pattern): Replace symbol+offset with MOVW/MOVT.

gcc/testsuite/ChangeLog
2013-11-25  Terry Guo  <terry.guo@arm.com>

	* gcc.target/arm/thumb2-slow-flash-data.c: New.

From-SVN: r205342
2013-11-25 06:41:20 +00:00
GCC Administrator
36ef4e9d58 Daily bump.
From-SVN: r205341
2013-11-25 00:16:58 +00:00
Steven Bosscher
29f3fd5b6a re PR bootstrap/59279 (r205337 breaks bootstrap with java)
PR bootstrap/59279
	Revert previous commit.

From-SVN: r205338
2013-11-24 21:59:49 +00:00
Steven Bosscher
57d6c446c7 jump.c (reset_insn_reg_label_operand_notes): New function, split out from ...
* jump.c (reset_insn_reg_label_operand_notes): New function,
	split out from ...
	(init_label_info): ... here.  Reset LABEL_NUSES in cfglayout mode.
	* cfgcleanup.c (delete_dead_jump_tables_between): New function,
	split out from ...
	(delete_dead_jumptables): ... here.  Handle cfglayout mode.
	(cleanup_cfg): Delete dead jump tables in cfglayout mode if an
	expensive CFG cleanup is called for.
	* cfgrtl.c (fixup_reorder_chain): Remove BARRIERs from fallthru paths.
	(cfg_layout_finalize): Delete dead jump tables before re-building
	the insns chain.
	* ira.c (ira): Rebuild jump labels *after* deleting unreachable
	basic blocks, not before.
	* loop-init.c (rtl_loop_done): Call for an expensive CFG cleanup.

	* modulo-sched.c (sms_schedule): Do not look for BARRIERs in the
	insns chain of a scheduling extended basic block, they cannot appear
	there in cfglayout mode.

From-SVN: r205337
2013-11-24 19:15:36 +00:00
Tobias Burnus
58b0729751 invoke.texi (-fsanitize=leak): Add link to the wiki page.
2013-11-24  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (-fsanitize=leak): Add link to the wiki page.

From-SVN: r205336
2013-11-24 17:02:10 +01:00
Francois-Xavier Coudert
cc778c5ece scanner.c (gfc_open_intrinsic_module): Remove function.
* scanner.c (gfc_open_intrinsic_module): Remove function.
	* gfortran.h (gfc_open_intrinsic_module): Remove prototype.

From-SVN: r205335
2013-11-24 14:43:20 +00:00
Bill Schmidt
523c1561c9 rs6000.c (rs6000_expand_vec_perm_const_1): Correct for little endian.
2013-11-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Correct
	for little endian.

From-SVN: r205333
2013-11-24 14:23:54 +00:00
H.J. Lu
9c7d8960a4 Don't include extra "expr.h" in graphite-sese-to-poly.c
* graphite-sese-to-poly.c: Don't include extra "expr.h".

From-SVN: r205332
2013-11-24 05:56:32 -08:00
Uros Bizjak
f9b2c057b5 * testsuite/ChangeLog: Fix ChangeLog entry.
From-SVN: r205325
2013-11-24 13:50:47 +01:00
Uros Bizjak
85aee256a2 float-exact-1.c: Use dg-add-options ieee.
* gcc.dg/float-exact-1.c: Use dg-add-options ieee.
	[LDBL_MANT_DIG == 113]: Fix wrong variable name.

From-SVN: r205324
2013-11-24 11:11:15 +01:00
Ian Lance Taylor
6b05faddf0 syscall: Only call varargs libc functions from C code.
From-SVN: r205321
2013-11-24 02:38:28 +00:00
GCC Administrator
473f48333b Daily bump.
From-SVN: r205320
2013-11-24 00:16:51 +00:00
Easwaran Raman
f8b0f44f2e re PR c++/59031 (vtable lookup not optimized away)
PR c++/59031
	* call.c (build_new_method_call_1): Comnpare function context
	with BASELINK_BINFO type rather than instance type before
	marking the call with LOOKUP_NONVIRTUAL.

From-SVN: r205317
2013-11-23 16:01:46 -05:00
Ian Lance Taylor
18768faed3 compiler: Fix backend representation of calls to interface methods.
Also unify all identical result parameter sets into a single
struct type, and fix the use of backend function pointers.

	* go-gcc.cc (Gcc_backend::function_type): Add result_struct
	parameter.

From-SVN: r205316
2013-11-23 19:01:57 +00:00
Eric Botcazou
7c42f52b74 * cilk-common.c (expand_builtin_cilk_detach): Dereference worker.
From-SVN: r205313
2013-11-23 16:44:02 +00:00
Jason Merrill
a47c2f6211 re PR c++/58868 (ICE: in count_type_elements, at expr.c:5495 with -std=gnu++0x)
PR c++/58868
	* init.c (build_aggr_init): Don't clobber the type of init
	if we got an INIT_EXPR back from build_vec_init.
	(build_vec_init): Do digest_init on trivial initialization.

From-SVN: r205311
2013-11-23 11:28:57 -05:00