Commit Graph

127488 Commits

Author SHA1 Message Date
Paolo Carlini
1f872df762 semantics.c (trait_expr_value, [...]): Implement the letter of 20.11.6 about Base and Derived naming the same class...
/cp
2014-01-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
	the letter of 20.11.6 about Base and Derived naming the same
	class type modulo cv-qualifiers.

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

	* g++.dg/ext/is_base_of_incomplete-2.C: New.

From-SVN: r206386
2014-01-07 09:40:28 +00:00
Jakub Jelinek
a0cbe71e87 re PR rtl-optimization/58668 (internal compiler error: in cond_exec_process_insns, at ifcvt.c:339)
PR rtl-optimization/58668
	* cfgcleanup.c (flow_find_cross_jump): Don't count
	any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
	to determine what is counted.
	(flow_find_head_matching_sequence): Use active_insn_p to determine
	what is counted.
	(try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
	counting change.
	* ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
	determine what is counted.

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

From-SVN: r206385
2014-01-07 08:54:47 +01:00
Jakub Jelinek
41626746d0 re PR tree-optimization/59643 (Predictive commoning unnecessarily punts on scimark2 SOR)
PR tree-optimization/59643
	* tree-predcom.c (split_data_refs_to_components): If one dr is
	read and one write, determine_offset fails and the write isn't
	in the bad component, just put the read into the bad component.

	* gcc.dg/pr59643.c: New test.
	* gcc.c-torture/execute/pr59643.c: New test.

From-SVN: r206384
2014-01-07 08:49:10 +01:00
Mike Stump
cc349a3901 re PR pch/59436 (FAIL: 17_intro/headers/c++200x/stdc++.cc (test for excess errors))
PR pch/59436
	* tree-core.h (struct tree_optimization_option): Change optabs
	type from unsigned char * to void *.
	* optabs.c (init_tree_optimization_optabs): Adjust
	TREE_OPTIMIZATION_OPTABS initialization.

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

From-SVN: r206383
2014-01-07 08:47:57 +01:00
GCC Administrator
69be2671a7 Daily bump.
From-SVN: r206382
2014-01-07 00:16:59 +00:00
Janus Weil
c9d3fa768b re PR fortran/59589 ([OOP] Memory leak when deallocating polymorphic)
2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59589
	* class.c (comp_is_finalizable): New function to dermine if a given
	component is finalizable.
	(finalize_component, generate_finalization_wrapper): Use it.


2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59589
	* gfortran.dg/class_allocate_16.f90: New.

From-SVN: r206379
2014-01-07 00:21:39 +01:00
Jakub Jelinek
529a647128 re PR target/59644 (r206243 miscompiles Linux kernel)
PR target/59644
	* config/i386/i386.h (struct machine_function): Add
	no_drap_save_restore field.
	* config/i386/i386.c (ix86_save_reg): Use
	!cfun->machine->no_drap_save_restore instead of
	crtl->stack_realign_needed.
	(ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
	this function clears frame_pointer_needed.  Set
	cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
	and DRAP reg is needed.

	* gcc.target/i386/pr59644.c: New test.

From-SVN: r206375
2014-01-06 22:38:27 +01:00
Ian Lance Taylor
71d0d50aa3 go/build: Set GOARCH on arm64 systems.
I am reliably informed that the architecture name and letter for the
plan9/inferno compilers for 64-bit ARM systems will be "arm64" and "7"
respectively, so let's get that bit in nice and early.

From Michael Hudson-Doyle.
https://codereview.appspot.com/34830045/

From-SVN: r206374
2014-01-06 19:24:23 +00:00
Marek Polacek
96066ce19b re PR c/57773 (-Wpedantic incorrect warning for enum bit-field)
PR c/57773
	* doc/implement-c.texi: Mention that other integer types are
	permitted as bit-field types in strictly conforming mode.
c/
	* c-decl.c (check_bitfield_type_and_width): Warn for implementation
	defined bit-field types only in ISO C.
testsuite/
	* gcc.dg/pr57773.c: New test.

From-SVN: r206373
2014-01-06 18:53:01 +00:00
Adam Butcher
aaa15a0d08 re PR c++/59638 ([c++1y] ICE with pointer to function that has auto as parameter)
Fix PR c++/59638

	PR c++/59638
	* cp/parser.c (cp_parser_init_declarator): Undo fully implicit
	template parameter list when declarator is not a function.

	* g++.dg/cpp1y/pr59638.C: New testcase.

From-SVN: r206371
2014-01-06 18:22:48 +00:00
Adam Butcher
2418d7da3a re PR c++/59629 ([c++11] ICE with invalid use of auto in lambda function)
Fix PR c++/59629

	PR c++/59629
	* cp/parser.c (cp_parser_lambda_expression): Save/reset/restore
	auto_is_implicit_function_template_parm_p around lambda body.

	* g++.dg/cpp1y/pr59629.C: New testcase.

From-SVN: r206370
2014-01-06 18:22:38 +00:00
Adam Butcher
81fdaa176d re PR c++/59636 ([c++1y] ICE with missing template parameter in lambda)
Fix PR c++/59636

	PR c++/59636
	* cp/parser.c (cp_parser_template_parameter): Early out with
	error_mark_node if parameter declaration was not parsed.

	* g++.dg/cpp1y/pr59636.C: New testcase.

From-SVN: r206369
2014-01-06 18:22:29 +00:00
Adam Butcher
2c8c627389 re PR c++/59635 ([c++1y] ICE with auto and ... as lambda parameter)
Fix PR c++/59635

	PR c++/59635
	* cp/lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
	function as unimplemented for generic lambdas with varargs.

	* g++.dg/cpp1y/pr59635.C: New testcase.

From-SVN: r206368
2014-01-06 18:22:19 +00:00
Mike Frysinger
0225cc0f1f libiberty: fix --enable-install-libiberty flag [PR 56780]
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
added a bug where the enable path never works because the initial clear
of target_header_dir wasn't deleted.  So we end up initializing properly
at the top only to reset it at the end all the time.

From-SVN: r206367
2014-01-06 18:15:31 +00:00
Felix Yang
33444996f0 modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it is newly allocated.
2014-01-02  Felix Yang  <fei.yang0953@gmail.com>

	* modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
	is newly allocated.

From-SVN: r206366
2014-01-06 09:46:12 -07:00
Bernd Edlinger
892c47451b Reverted r205593
2013-12-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR target/58115
	* function.c (invoke_set_current_function_hook): Call
	targetm.set_current_function after setting this_fn_optabs.

From-SVN: r206364
2014-01-06 16:34:52 +00:00
Richard Earnshaw
328402a94e * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
From-SVN: r206363
2014-01-06 15:58:44 +00:00
Gary Benson
0a15a50e83 cp-demangle.c (struct d_print_info): New fields next_saved_scope...
libiberty/
2014-01-06  Gary Benson  <gbenson@redhat.com>

	* cp-demangle.c (struct d_print_info): New fields
	next_saved_scope, copy_templates, next_copy_template and
	num_copy_templates.
	(d_count_templates): New function.
	(d_print_init): New parameter "dc".
	Estimate numbers of templates and scopes required.
	(d_print_free): Removed function.
	(cplus_demangle_print_callback): Allocate stack for
	templates and scopes.  Removed call to d_print_free.
	(d_copy_templates): Removed function.
	(d_save_scope): New function.
	(d_get_saved_scope): Likewise.
	(d_print_comp): Replace state saving/restoring code with
	calls to d_save_scope and d_get_saved_scope.

From-SVN: r206362
2014-01-06 14:14:21 +00:00
Martin Jambor
a4e33812b0 re PR ipa/59008 (ICEs in try_make_edge_direct_simple_call / propagate_controlled_uses)
2014-01-06  Martin Jambor  <mjambor@suse.cz>

	PR ipa/59008
	* ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
	to int.
	* ipa-prop.c (ipa_print_node_params): Fix indentation.

testsuite/
        * gcc.dg/ipa/pr59008.c: New test.

From-SVN: r206361
2014-01-06 15:05:25 +01:00
Rainer Orth
4dc69bc674 Clear hardware capabilities for gcc.dg/vect/vect-simd-clone-*.c
* gcc.dg/vect/vect.exp: Add clearcap_ldflags to DEFAULT_VECTCFLAGS
	if supported.

From-SVN: r206360
2014-01-06 13:56:53 +00:00
Rainer Orth
58ee277e27 Correctly require C99 support in avx512f tests
* gcc.target/i386/avx512f-vcmppd-2.c: Add -std=c99.
	Require c99_runtime.
	* gcc.target/i386/avx512f-vcmpps-2.c: Likewise.

	* gcc.target/i386/avx512f-vfixupimmpd-2.c: Add -std=gnu99.
	Require c99_runtime.
	* gcc.target/i386/avx512f-vfixupimmps-2.c: Likewise.
	* gcc.target/i386/avx512f-vfixupimmsd-2.c: Likewise.
	* gcc.target/i386/avx512f-vfixupimmss-2.c: Likewise.

	* gcc.target/i386/avx512f-vgetmantpd-2.c: Add -std=c99.
	Require c99_runtime.
	Make CALC void static.
	* gcc.target/i386/avx512f-vgetmantps-2.c: Likewise.

	* gcc.target/i386/avx512f-vgetmantsd-2.c: Add -std=c99.
	Require c99_runtime.
	* gcc.target/i386/avx512f-vgetmantss-2.c: Likewise.

From-SVN: r206359
2014-01-06 13:45:29 +00:00
Rainer Orth
2272c21480 Require avx in gcc.target/i386/pr59501-*.c
* gcc.target/i386/pr59501-1.c: Require avx effective target.
	* gcc.target/i386/pr59501-2.c: Likewise.
	* gcc.target/i386/pr59501-3.c: Likewise.
	* gcc.target/i386/pr59501-4.c: Likewise.
	* gcc.target/i386/pr59501-5.c: Likewise.
	* gcc.target/i386/pr59501-6.c: Likewise.

From-SVN: r206358
2014-01-06 13:35:07 +00:00
Rainer Orth
f70f7c735d Declare fma in gcc.target/i386/pr59390.c
* gcc.target/i386/pr59390.c: Replace math.h by fma declaration.
	* gcc.target/i386/pr59390_1.c: Likewise.
	* gcc.target/i386/pr59390_2.c: Likewise.

From-SVN: r206357
2014-01-06 13:22:59 +00:00
Eric Botcazou
b5cd2a0257 re PR debug/59350 (ICE: in vt_expand_var_loc_chain, at var-tracking.c:8212)
PR debug/59350
	PR debug/59510
	* var-tracking.c (add_stores): Preserve the value of the source even if
	we don't record the store.

From-SVN: r206356
2014-01-06 11:39:41 +00:00
Janus Weil
04ba12ef8d re PR fortran/59023 (ICE in gfc_search_interface with BIND(C))
2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59023
	PR fortran/59662
	* resolve.c (resolve_global_procedure): Don't apply to c-binding
	procedures.
	(gfc_verify_binding_labels): Remove duplicate line.

2014-01-06  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59023
	* gfortran.dg/bind_c_procs_2.f90: New.

From-SVN: r206355
2014-01-06 12:31:34 +01:00
Terry Guo
c7d19c0b58 config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
2014-01-06  Terry Guo  <terry.guo@arm.com>

	* config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.

From-SVN: r206354
2014-01-06 08:16:30 +00:00
Ian Lance Taylor
9596ecdf8c runtime: Remove unused runtime_cpuid variables.
From-SVN: r206353
2014-01-06 03:01:58 +00:00
GCC Administrator
662440a9c7 Daily bump.
From-SVN: r206351
2014-01-06 00:16:27 +00:00
Iain Sandoe
e0c70bd727 re PR bootstrap/59541 (Revision 206070 breaks bootstrap on Darwin: config/darwin.c:3665:1: error: control reaches end of non-void function [-Werror=return-type])
gcc:

	PR bootstrap/59541
	* config/darwin.c (darwin_function_section): Adjust return values to
	correspond to optimisation changes made in r206070.

From-SVN: r206348
2014-01-05 21:47:43 +00:00
John David Anglin
c8cc8a5e42 reassoc-33.c: Don't run on hppa*-*-*.
* gcc.dg/tree-ssa/reassoc-33.c: Don't run on hppa*-*-*.
	* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
	* gcc.dg/tree-ssa/forwprop-28.c: Skip compile on hppa*-*-*.
	* gcc.dg/tree-ssa/vrp47.c: Likewise.
	* gcc.dg/tree-ssa/vrp87.c: Likewise.

From-SVN: r206346
2014-01-05 18:25:53 +00:00
Uros Bizjak
c30f016cf5 i386.c (ix86_data_alignment): Calculate max_align from prefetch_block tune setting.
* config/i386/i386.c (ix86_data_alignment): Calculate max_align
	from prefetch_block tune setting.
	(nocona_cost): Correct size of prefetch block to 64.

From-SVN: r206345
2014-01-05 16:42:07 +01:00
GCC Administrator
18a68db933 Daily bump.
From-SVN: r206340
2014-01-05 00:16:49 +00:00
Eric Botcazou
f2bc252be3 arm.c (arm_get_frame_offsets): Revamp long lines.
* config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
	(arm_expand_epilogue_apcs_frame): Take into account the number of bytes
	used to save the static chain register in the computation of the offset
	from which the FP registers need to be restored.

From-SVN: r206337
2014-01-04 21:51:51 +00:00
Jakub Jelinek
39719c8400 re PR tree-optimization/59519 (ICE on valid code at -O3 on x86_64-linux-gnu in slpeel_update_phi_nodes_for_guard1, at tree-vect-loop-manip.c:486)
PR tree-optimization/59519
	* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
	ICE if get_current_def (current_new_name) is already non-NULL, as long
	as it is a phi result of some other phi in *new_exit_bb that has
	the same argument.

	* gcc.dg/vect/pr59519-1.c: New test.
	* gcc.dg/vect/pr59519-2.c: New test.

From-SVN: r206333
2014-01-04 12:23:16 +01:00
Jakub Jelinek
dad5ed2eb1 sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d} or vmovdqu* for misaligned_operand.
* config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
	or vmovdqu* for misaligned_operand.
	(<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
	<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
	* config/i386/i386.c (ix86_expand_special_args_builtin): Set
	aligned_mem for AVX512F masked aligned load and store builtins and for
	non-temporal moves.

	* gcc.target/i386/avx512f-vmovdqu32-1.c: Allow vmovdqu64 instead of
	vmovdqu32.

From-SVN: r206332
2014-01-04 10:57:36 +01:00
Janus Weil
e8ed375089 re PR fortran/59547 ([OOP] Problem with using tbp specification function in multiple class procedures)
2014-01-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59547
	* class.c (add_proc_comp): Copy pure attribute.

2014-01-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/59547
	* gfortran.dg/typebound_proc_32.f90: New.

From-SVN: r206331
2014-01-04 10:25:04 +01:00
GCC Administrator
953ff78043 Daily bump.
From-SVN: r206330
2014-01-04 00:16:56 +00:00
Marc Glisse
5c67ba021a re PR c++/58950 (Missing "statement has no effect")
2014-01-03  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/58950
gcc/cp/
	* cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
gcc/testsuite/
	* g++.dg/pr58950.C: New file.

From-SVN: r206325
2014-01-03 21:12:48 +00:00
Tobias Burnus
54a990d324 re PR c++/58567 (ICE with invalid loop variable in template using openmp)
2014-01-03  Tobias Burnus  <burnus@net-b.de>

        PR c++/58567
        * pt.c (tsubst_omp_for_iterator): Early return for
        * error_mark_node.


2014-01-03  Tobias Burnus  <burnus@net-b.de>

        PR c++/58567
        * g++.dg/gomp/pr58567.C: New.

From-SVN: r206322
2014-01-03 21:24:50 +01:00
Bingfeng Mei
82d89471a4 re PR tree-optimization/59651 (Vectorizer failing to spot dependence causes incorrect code generation.)
2014-01-03  Bingfeng Mei <bmei@broadcom.com>

	PR tree-optimization/59651
	* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): 
	Address	range for negative step should be added by TYPE_SIZE_UNIT.

	PR tree-optimization/59651
	* gcc.dg/torture/pr59651.c: New test.
	* gcc.dg/vect/pr59651.c: Ditto.

From-SVN: r206319
2014-01-03 15:40:57 +00:00
Andreas Schwab
e864837ad6 m68k.c (handle_move_double): Handle pushes with overlapping registers also for registers other than the...
* config/m68k/m68k.c (handle_move_double): Handle pushes with
overlapping registers also for registers other than the stack
pointer.

From-SVN: r206317
2014-01-03 13:57:45 +00:00
Marek Polacek
56a34230f1 re PR other/59661 (documentation: __builtin_FUNCTION / _FILE listed as returning int)
PR other/59661
	* doc/extend.texi: Fix the return value of __builtin_FUNCTION and
	__builtin_FILE.

From-SVN: r206315
2014-01-03 12:28:31 +00:00
Jakub Jelinek
3bcdbd50ba re PR target/59625 (asm goto and TARGET_FOUR_JUMP_LIMIT)
PR target/59625
	* config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
	asm goto as jump.

	* gcc.target/i386/pr59625.c: New test.

From-SVN: r206314
2014-01-03 13:22:17 +01:00
Paolo Carlini
cdc23b1b20 Core DR 1442 PR c++/59165
/cp
2014-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	Core DR 1442
	PR c++/59165
	* parser.c (cp_parser_perform_range_for_lookup): Don't pass true
	as include_std to perform_koenig_lookup.
	(cp_parser_postfix_expression): Adjust.
	* pt.c (tsubst_copy_and_build): Likewise.
	* semantics.c (perform_koenig_lookup): Remove bool parameter.
	(omp_reduction_lookup): Adjust.
	* name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
	(lookup_arg_dependent): Likewise.
	(lookup_function_nonclass): Adjust.
	* name-lookup.h: Adjust declaration.
	* cp-tree.h: Likewise.

/testsuite
2014-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	Core DR 1442
	PR c++/59165
	* g++.dg/cpp0x/range-for28.C: New.
	* g++.dg/cpp0x/range-for3.C: Update.

From-SVN: r206313
2014-01-03 11:11:31 +00:00
Jakub Jelinek
039eee3f12 i386.md (MODE_SIZE): New mode attribute.
* config/i386/i386.md (MODE_SIZE): New mode attribute.
	(push splitter): Use <P:MODE_SIZE> instead of
	GET_MODE_SIZE (<P:MODE>mode).
	(lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
	(mov -1, reg peephole2): Likewise.
	* config/i386/sse.md (*mov<mode>_internal,
	<sse>_storeu<ssemodesuffix><avxsizesuffix>,
	<sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
	*<code><mode>3, *andnot<mode>3<mask_name>,
	<mask_codefor><code><mode>3<mask_name>): Likewise.
	* config/i386/subst.md (mask_mode512bit_condition,
	sd_mask_mode512bit_condition): Likewise.

From-SVN: r206312
2014-01-03 11:51:42 +01:00
Eric Botcazou
517c399e85 * gnatvsn.ads (Current_Year): Bump to 2014.
From-SVN: r206311
2014-01-03 08:42:16 +00:00
Joseph Myers
a02e7bddb8 ibm-ldouble.c (__gcc_qdiv): Scale up arguments in case of small numerator and finite nonzero result.
libgcc:
	* config/rs6000/ibm-ldouble.c (__gcc_qdiv): Scale up arguments in
	case of small numerator and finite nonzero result.

gcc/testsuite:
	* gcc.target/powerpc/rs6000-ldouble-3.c: New test.

From-SVN: r206310
2014-01-03 02:05:44 +00:00
Xinliang David Li
927734cfaf Fix PR/59303 -- uninit analysis enhancement
From-SVN: r206309
2014-01-03 00:40:57 +00:00
GCC Administrator
c8ee48b8f9 Daily bump.
From-SVN: r206308
2014-01-03 00:16:50 +00:00
Jakub Jelinek
2eed95b0f4 Rotate cp/ChangeLog
From-SVN: r206305
2014-01-02 23:52:20 +01:00