Commit Graph

137654 Commits

Author SHA1 Message Date
Patrick Palka
2234a9cb75 re PR c++/64527 (Constructor for empty struct not called in some situations)
Fix PR c++/64527

gcc/
	PR c++/64527
	* gimplify.c (gimplify_init_constructor): Always emit a
	side-effecting constructor.

gcc/testsuite/
	PR c++/64527
	* g++.dg/init/pr64527.C: New test.

From-SVN: r222176
2015-04-17 12:14:24 +00:00
Tom de Vries
3f6a2f9e08 Add missing PR lines in ChangeLog
From-SVN: r222175
2015-04-17 09:47:10 +00:00
Tom de Vries
d67cb100c6 Set PROP_gimple_lva for functions without IFN_VA_ARG
2015-04-17  Tom de Vries  <tom@codesourcery.com>

	* gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
	in cfun->curr_properties.
	(gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
	if we generate an IFN_VA_ARG.
	* tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
	function if PROP_gimple_lva is not set in src function.

From-SVN: r222174
2015-04-17 09:27:08 +00:00
Tom de Vries
f8e89441bc Postpone expanding va_arg until pass_stdarg
2015-04-17  Tom de Vries  <tom@codesourcery.com>
	    Michael Matz  <matz@suse.de>

	* gimple-iterator.c (update_modified_stmts): Remove static.
	* gimple-iterator.h (update_modified_stmts): Declare.
	* gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
	(gimplify_va_arg_internal): New function.
	(gimplify_va_arg_expr): Use IFN_VA_ARG.
	* gimplify.h (gimplify_va_arg_internal): Declare.
	* internal-fn.c (expand_VA_ARG): New unreachable function.
	* internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
	* tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
	(expand_ifn_va_arg): New function.
	(pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
	(pass_stdarg::execute): Call expand_ifn_va_arg.
	(pass_data_lower_vaarg): New pass_data.
	(pass_lower_vaarg): New gimple_opt_pass.
	(pass_lower_vaarg::gate, pass_lower_vaarg::execute)
	(make_pass_lower_vaarg): New function.
	* cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
	properties_required field.
	* passes.def (all_passes): Add pass_lower_vaarg.
	* tree-pass.h (PROP_gimple_lva): Add define.
	(make_pass_lower_vaarg): Declare.

	* gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target
	x86_64-*-*.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r222173
2015-04-17 09:26:59 +00:00
Tom de Vries
1691b2e1ca Handle internal_fn in operand_equal_p
2015-04-17  Tom de Vries  <tom@codesourcery.com>

	* fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
	* calls.c (call_expr_flags): Same.

From-SVN: r222172
2015-04-17 09:26:50 +00:00
Tom de Vries
302f08072f Factor optimize_va_list_gpr_fpr_size out of pass_stdarg::execute
2015-04-17  Tom de Vries  <tom@codesourcery.com>

	* tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
	(pass_stdarg::execute): ... here.

From-SVN: r222171
2015-04-17 09:26:41 +00:00
Tom de Vries
8926e325db Add gimple_find_sub_bbs
2015-04-17  Tom de Vries  <tom@codesourcery.com>
	    Michael Matz  <matz@suse.de>

	* tree-cfg.c (make_blocks_1): Factor out of ...
	(make_blocks): ... here.
	(make_edges_bb): Factor out of ...
	(make_edges): ... here.
	(gimple_find_sub_bbs): New function.
	* tree-cfg.h (gimple_find_sub_bbs): Declare.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r222170
2015-04-17 09:26:33 +00:00
Tom de Vries
cef3bed654 Disable lang_hooks.gimplify_expr in free_lang_data
2015-04-17  Tom de Vries  <tom@codesourcery.com>

	* tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.

From-SVN: r222169
2015-04-17 09:26:24 +00:00
Yury Gribov
18af8d16cf asan.c (set_sanitized_sections): New function.
2015-04-17  Yury Gribov  <y.gribov@samsung.com>

gcc/
	* asan.c (set_sanitized_sections): New function.
	(section_sanitized_p): Ditto.
	(asan_protect_global): Optionally sanitize user-defined
	sections.
	* asan.h (set_sanitized_sections): Declare new function.
	* common.opt (fsanitize-sections): New option.
	* doc/invoke.texi (-fsanitize-sections): Document new option.
	* opts-global.c (handle_common_deferred_options): Handle new
	option.

gcc/testsuite/
	* c-c++-common/asan/user-section-1.c: New test.

From-SVN: r222168
2015-04-17 07:51:02 +00:00
Jakub Jelinek
d7cb230a93 re PR debug/65771 (ICE (in loc_list_from_tree, at dwarf2out.c:14964) on arm-linux-gnueabihf)
PR debug/65771
	* dwarf2out.c (loc_list_from_tree): Return NULL
	for DEBUG_EXPR_DECL.

	* gcc.dg/debug/pr65771.c: New test.

From-SVN: r222166
2015-04-17 09:44:30 +02:00
Christian Bruel
86f46e3972 ipa-inline.c (can_inline_edge_p): Allow inlining of functions with same attributes.
* ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
same attributes.

From-SVN: r222165
2015-04-17 08:50:08 +02:00
GCC Administrator
37dc4579fb Daily bump.
From-SVN: r222164
2015-04-17 00:16:14 +00:00
Paolo Carlini
988db853d9 class.c (resolve_address_of_overloaded_function, [...]): Rename tsubst_flags_t parameter flags -> complain.
2015-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* class.c (resolve_address_of_overloaded_function, instantiate_type):
	Rename tsubst_flags_t parameter flags -> complain.

From-SVN: r222159
2015-04-16 20:57:46 +00:00
Zhouyi Zhou
6e3957da31 ira-color.c (setup_left_conflict_sizes_p): Do not process node itself when computing left conflict subnode size.
* ira-color.c (setup_left_conflict_sizes_p): Do not process
        node itself when computing left conflict subnode size.

From-SVN: r222157
2015-04-16 14:02:01 -06:00
Uros Bizjak
8c292b10e8 predicates.md (register_mixssei387nonimm_operand): New.
* config/i386/predicates.md (register_mixssei387nonimm_operand): New.
	* config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
	*fop_<mode>_1_sse using enabled attribute.  Use
	register_mixssei387nonimm_operand operand 1 predicate. Change
	alternative 3 constraints from "x" to "v".

From-SVN: r222154
2015-04-16 20:50:59 +02:00
H.J. Lu
fe7a6ae47f Replace __buitlin_alloca with __builtin_alloca
* gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace
	__buitlin_alloca with __builtin_alloca.

From-SVN: r222151
2015-04-16 08:34:11 -07:00
Paolo Carlini
9f635abaab call.c (build_op_delete_call, [...]): Check mark_used return value.
2015-04-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (build_op_delete_call, build_over_call): Check mark_used
	return value.
	* class.c (resolve_address_of_overloaded_function): Likewise.
	* decl.c (cxx_maybe_build_cleanup): Likewise.
	* pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink,
	tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise.
	* rtti.c (build_dynamic_cast_1): Likewise.
	* semantics.c (process_outer_var_ref): Likewise.
	* typeck.c (build_class_member_access_expr,
	cp_build_function_call_vec, cp_build_addr_expr_1): Likewise.

From-SVN: r222150
2015-04-16 15:12:10 +00:00
Alan Lawrence
b8147bfc61 [AArch64 Testsuite] Fix comments in vldN_lane_1.c
* gcc.target/aarch64/vldN_lane_1.c: Correct dup->lane in comments.

From-SVN: r222148
2015-04-16 12:25:34 +00:00
Richard Biener
b9334e4c48 re PR tree-optimization/65774 (FAIL: gcc.dg/builtin-arith-overflow-1.c (internal compiler error))
2015-04-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/65774
	* tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
	bit-value tracking on.

From-SVN: r222147
2015-04-16 12:10:34 +00:00
Richard Biener
f8269ad4a9 re PR tree-optimization/64277 (Incorrect warning "array subscript is above array bounds")
2015-04-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/64277
	* tree-vrp.c (check_array_ref): Fix anti-range handling,
	simplify upper bound handling.
	(search_for_addr_array): Simplify.
	(check_array_bounds): Handle ADDR_EXPRs here.
	(check_all_array_refs): Simplify.

	* gcc.dg/Warray-bounds-14.c: New testcase.
	* gcc.dg/Warray-bounds-15.c: Likewise.
	* c-c++-common/ubsan/bounds-4.c: Disable -Warray-bounds.
	* c-c++-common/ubsan/bounds-6.c: Likewise.

From-SVN: r222146
2015-04-16 12:03:11 +00:00
Uros Bizjak
579cef8f39 i386.c (print_reg): Rewrite function.
* config/i386/i386.c (print_reg): Rewrite function.

From-SVN: r222145
2015-04-16 13:39:53 +02:00
Andreas Krebbel
dba0dd688d S/390: Fix ira cost multiplier
* config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
	Invert the condition.

From-SVN: r222144
2015-04-16 11:29:28 +00:00
Renlin Li
76978b21c6 [PATCH]Enable two UNSIGNED_FLOAT simplifications in simplify_unary_operation_1.
gcc/

2015-04-16  Renlin Li  <renlin.li@arm.com>

	* simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
	simplifications for UNSIGNEDED_FLOAT.

gcc/testsuite/

2015-04-16  Renlin Li  <renlin.li@arm.com>

	* gcc.target/aarch64/unsigned-float.c: New.
	* gcc.target/arm/unsigned-float.c: New.

From-SVN: r222143
2015-04-16 08:36:21 +00:00
Nick Clifton
72ed112686 rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and MUL_UNINIT.
* config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
 	MUL_UNINIT.
 	(enum rl78_cpu_type): New.
 	* config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
 	(umulhi3_shift_virt): Remove m constraint from operand 1.
 	(umulqihi3_virt): Likewise.
 	* config/rl78/rl78.c (rl78_option_override): Add code to process
 	-mcpu and -mmul options.
 	(rl78_alloc_physical_registers): Add code to handle divhi and
 	divsi valloc attributes.
 	(set_origin): Likewise.
 	* config/rl78/rl78.h (RL78_MUL_G14): Define.
 	(TARGET_G10, TARGET_G13, TARGET_G14): Define.
 	(TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
 	__RL78_Gxx__.
 	(ASM_SPEC): Pass -mcpu on to assembler.
 	* config/rl78/rl78.md (mulqi3): Add a clobber of AX.
 	(mulqi3_rl78): Likewise.
 	(mulhi3_g13): Likewise.
 	(mulhi3): Generate the G13 or G14 versions of the insn directly.
 	(mulsi3): Likewise.
 	(mulhi3_g14): Add clobbers of AX and BC.
 	(mulsi3_g14): Likewise.
 	(mulsi3_g13): Likewise.
 	(udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
 	(udivmodsi4_g14, udivmodsi4_g13): New patterns.
 	* config/rl78/rl78.opt (mmul): Initialise value to
 	RL78_MUL_UNINIT.
 	(mcpu): New option.
 	(m13, m14, mrl78): New option aliases.
 	* config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
 	(MULTILIB_DIRNAMES): Add g13 and g14.
 	* doc/invoke.texi: Document -mcpu and -mmul options.

 	* config/rl78/divmodhi.S: Add G14 and G13 versions of the __divhi3
 	and __modhi3 functions.
	* config/rl78/divmodso.S: Add G14 and G13 versions of the
 	__divsi3, __udivsi3, __modsi3 and __umodsi3 functions.

From-SVN: r222142
2015-04-16 07:57:56 +00:00
Richard Biener
8a474dc5d7 tree-ssa-ccp.c (likely_value): See if we have operands that are marked as never simulate again and return...
2015-04-16  Richard Biener  <rguenther@suse.de>

	* tree-ssa-ccp.c (likely_value): See if we have operands that
	are marked as never simulate again and return CONSTANT in this
	case.
	* tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
	not have any operands that will be simulated again as
	not being simulated again.

	* gcc.dg/tree-ssa/ssa-ccp-36.c: New testcase.
	* gcc.dg/tree-ssa/pr37508.c: Adjust.
	* gfortran.dg/reassoc_6.f: Remove XFAIL.

From-SVN: r222141
2015-04-16 07:55:57 +00:00
GCC Administrator
8d1cac076c Daily bump.
From-SVN: r222140
2015-04-16 00:16:21 +00:00
Jason Merrill
58cc255ca0 constexpr.c (cxx_eval_store_expression): Ignore clobbers.
* constexpr.c (cxx_eval_store_expression): Ignore clobbers.
	(build_constexpr_constructor_member_initializers): Loop to find
	the BIND_EXPR.
	* decl.c (start_preparsed_function): Clobber the object at the
	beginning of a constructor.

From-SVN: r222135
2015-04-15 17:17:29 -04:00
Jason Merrill
efb5e8170a decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
* decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.
	* method.c (implicitly_declare_fn): Likewise.
	* decl2.c (vague_linkage_p): Check TREE_PUBLIC first.

From-SVN: r222134
2015-04-15 17:17:21 -04:00
Jason Merrill
bf5730d773 * decl2.c (determine_visibility): Use get_template_info.
From-SVN: r222133
2015-04-15 17:17:15 -04:00
Jason Merrill
5ce3039eb1 re PR c++/65727 (Segfault With Decltype In Lambda Expression Used To Initialize Static Class Member)
PR c++/65727
	* lambda.c (lambda_expr_this_capture): In unevaluated context go
	through the normal loop, just don't capture.
	(maybe_resolve_dummy): Handle null return.

Co-Authored-By: Marek Polacek <polacek@redhat.com>

From-SVN: r222132
2015-04-15 17:17:03 -04:00
Uros Bizjak
cf0ed95b57 i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
* config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
	Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
	(*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
	attribute.
	(*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
	enabled attribute.
	(*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
	*float<SWI48:mode><MODEF:mode>2_sse.
	(*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
	enabled attribute.
	(*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
	enabled attribute.

From-SVN: r222131
2015-04-15 21:32:07 +02:00
Jeff Law
20e38fcf4f re PR tree-optimization/47679 (Strange uninitialized warning after SRA)
PR tree-optimization/47679
	* tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
	need for forward declaration in upcoming changes.
	(record_conditions, record_edge_info): Likewise.

From-SVN: r222130
2015-04-15 12:51:49 -06:00
Tom de Vries
5283d1ecc4 Fix fdump-passes
2015-04-15  Tom de Vries  <tom@codesourcery.com>

	PR other/65487
	* function.c (push_dummy_function): New function.
	(init_dummy_function_start): Use push_dummy_function.
	(pop_dummy_function): New function.  Factored out of ...
	(expand_dummy_function_end): ... here.
	* function.h (push_dummy_function, pop_dummy_function): Declare.
	* passes.c (pass_manager::dump_passes): Use push_dummy_function and
	pop_dummy_function.
	* tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.

From-SVN: r222129
2015-04-15 18:43:32 +00:00
Paolo Carlini
3a1351b9da call.c (enforce_access): Emit error + inform.
/cp
2015-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (enforce_access): Emit error + inform.

/testsuite
2015-04-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/alias-decl-22.C: Adjust for error + inform change.
	* g++.dg/cpp0x/decltype-call1.C: Likewise.
	* g++.dg/cpp0x/defaulted21.C: Likewise.
	* g++.dg/cpp0x/defaulted28.C: Likewise.
	* g++.dg/cpp0x/defaulted47.C: Likewise.
	* g++.dg/cpp0x/elision_neg.C: Likewise.
	* g++.dg/cpp0x/fntmpdefarg3.C: Likewise.
	* g++.dg/cpp0x/implicit-trivial1.C: Likewise.
	* g++.dg/cpp0x/implicit1.C: Likewise.
	* g++.dg/cpp0x/implicit9.C: Likewise.
	* g++.dg/cpp0x/inh-ctor9.C: Likewise.
	* g++.dg/cpp0x/range-for13.C: Likewise.
	* g++.dg/gomp/clause-2.C: Likewise.
	* g++.dg/gomp/udr-5.C: Likewise.
	* g++.dg/inherit/access6.C: Likewise.
	* g++.dg/lookup/duperr1.C: Likewise.
	* g++.dg/lookup/friend2.C: Likewise.
	* g++.dg/lookup/pr6936.C: Likewise.
	* g++.dg/lookup/scoped1.C: Likewise.
	* g++.dg/lookup/using26.C: Likewise.
	* g++.dg/lookup/using38.C: Likewise.
	* g++.dg/other/access2.C: Likewise.
	* g++.dg/overload/defarg3.C: Likewise.
	* g++.dg/overload/defarg6.C: Likewise.
	* g++.dg/parse/access11.C: Likewise.
	* g++.dg/parse/access2.C: Likewise.
	* g++.dg/parse/access3.C: Likewise.
	* g++.dg/parse/access4.C: Likewise.
	* g++.dg/parse/access5.C: Likewise.
	* g++.dg/parse/access6.C: Likewise.
	* g++.dg/parse/access8.C: Likewise.
	* g++.dg/parse/access9.C: Likewise.
	* g++.dg/parse/crash40.C: Likewise.
	* g++.dg/tc1/dr142.C: Likewise.
	* g++.dg/tc1/dr166.C: Likewise.
	* g++.dg/tc1/dr52.C: Likewise.
	* g++.dg/template/access11.C: Likewise.
	* g++.dg/template/access18.C: Likewise.
	* g++.dg/template/access19.C: Likewise.
	* g++.dg/template/access2.C: Likewise.
	* g++.dg/template/access20.C: Likewise.
	* g++.dg/template/access26.C: Likewise.
	* g++.dg/template/access3.C: Likewise.
	* g++.dg/template/access7.C: Likewise.
	* g++.dg/template/conv12.C: Likewise.
	* g++.dg/template/crash69.C: Likewise.
	* g++.dg/template/friend31.C: Likewise.
	* g++.dg/template/friend32.C: Likewise.
	* g++.dg/template/memfriend15.C: Likewise.
	* g++.dg/template/memfriend16.C: Likewise.
	* g++.dg/template/memfriend17.C: Likewise.
	* g++.dg/template/memfriend7.C: Likewise.
	* g++.dg/template/pr32519.C: Likewise.
	* g++.dg/template/qualttp21.C: Likewise.
	* g++.dg/template/qualttp8.C: Likewise.
	* g++.dg/template/ttp10.C: Likewise.
	* g++.dg/template/typedef11.C: Likewise.
	* g++.dg/template/typedef13.C: Likewise.
	* g++.dg/template/typedef19.C: Likewise.
	* g++.dg/template/typedef20.C: Likewise.
	* g++.dg/template/typedef22.C: Likewise.
	* g++.dg/template/using16.C: Likewise.
	* g++.dg/template/virtual3.C: Likewise.
	* g++.dg/ubsan/pr61272.C: Likewise.
	* g++.old-deja/g++.bob/inherit2.C: Likewise.
	* g++.old-deja/g++.brendan/crash11.C: Likewise.
	* g++.old-deja/g++.brendan/enum6.C: Likewise.
	* g++.old-deja/g++.brendan/visibility1.C: Likewise.
	* g++.old-deja/g++.brendan/visibility10.C: Likewise.
	* g++.old-deja/g++.brendan/visibility2.C: Likewise.
	* g++.old-deja/g++.brendan/visibility6.C: Likewise.
	* g++.old-deja/g++.brendan/visibility7.C: Likewise.
	* g++.old-deja/g++.brendan/visibility8.C: Likewise.
	* g++.old-deja/g++.brendan/visibility9.C: Likewise.
	* g++.old-deja/g++.bugs/900428_03.C: Likewise.
	* g++.old-deja/g++.jason/access17.C: Likewise.
	* g++.old-deja/g++.jason/access18.C: Likewise.
	* g++.old-deja/g++.jason/access22.C: Likewise.
	* g++.old-deja/g++.jason/access23.C: Likewise.
	* g++.old-deja/g++.jason/access8.C: Likewise.
	* g++.old-deja/g++.jason/delete3.C: Likewise.
	* g++.old-deja/g++.jason/report.C: Likewise.
	* g++.old-deja/g++.law/access2.C: Likewise.
	* g++.old-deja/g++.law/access3.C: Likewise.
	* g++.old-deja/g++.law/access4.C: Likewise.
	* g++.old-deja/g++.law/access5.C: Likewise.
	* g++.old-deja/g++.law/arm12.C: Likewise.
	* g++.old-deja/g++.law/arm14.C: Likewise.
	* g++.old-deja/g++.law/ctors13.C: Likewise.
	* g++.old-deja/g++.law/union2.C: Likewise.
	* g++.old-deja/g++.law/visibility12.C: Likewise.
	* g++.old-deja/g++.law/visibility15.C: Likewise.
	* g++.old-deja/g++.law/visibility16.C: Likewise.
	* g++.old-deja/g++.law/visibility17.C: Likewise.
	* g++.old-deja/g++.law/visibility18.C: Likewise.
	* g++.old-deja/g++.law/visibility19.C: Likewise.
	* g++.old-deja/g++.law/visibility20.C: Likewise.
	* g++.old-deja/g++.law/visibility21.C: Likewise.
	* g++.old-deja/g++.law/visibility24.C: Likewise.
	* g++.old-deja/g++.law/visibility4.C: Likewise.
	* g++.old-deja/g++.law/visibility5.C: Likewise.
	* g++.old-deja/g++.law/visibility6.C: Likewise.
	* g++.old-deja/g++.law/visibility7.C: Likewise.
	* g++.old-deja/g++.law/visibility8.C: Likewise.
	* g++.old-deja/g++.law/visibility9.C: Likewise.
	* g++.old-deja/g++.niklas/t135.C: Likewise.
	* g++.old-deja/g++.oliva/delete1.C: Likewise.
	* g++.old-deja/g++.oliva/partord1.C: Likewise.
	* g++.old-deja/g++.other/access11.C: Likewise.
	* g++.old-deja/g++.other/access4.C: Likewise.
	* g++.old-deja/g++.other/access7.C: Likewise.
	* g++.old-deja/g++.other/crash1.C: Likewise.
	* g++.old-deja/g++.other/crash7.C: Likewise.
	* g++.old-deja/g++.other/friend1.C: Likewise.
	* g++.old-deja/g++.other/friend4.C: Likewise.
	* g++.old-deja/g++.other/friend9.C: Likewise.
	* g++.old-deja/g++.other/lineno1.C: Likewise.
	* g++.old-deja/g++.other/using1.C: Likewise.
	* g++.old-deja/g++.pt/enum14.C: Likewise.
	* g++.old-deja/g++.pt/friend11.C: Likewise.
	* g++.old-deja/g++.pt/friend21.C: Likewise.
	* g++.old-deja/g++.pt/friend3.C: Likewise.
	* g++.old-deja/g++.pt/inherit2.C: Likewise.
	* g++.old-deja/g++.pt/memtemp74.C: Likewise.
	* g++.old-deja/g++.pt/memtemp89.C: Likewise.
	* g++.old-deja/g++.robertl/eb94.C: Likewise.

From-SVN: r222128
2015-04-15 17:18:27 +00:00
Chen Gang
d26b2237b3 gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty do-while loop as macro body to avoid warnings.
2015-04-15  Chen Gang  <gang.chen.5i5j@gmail.com>

       * gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty
       do-while loop as macro body to avoid warnings.

From-SVN: r222127
2015-04-15 09:29:12 -06:00
Marek Polacek
0567dcd254 constexpr.c (use_new_call): Remove #define.
* constexpr.c (use_new_call): Remove #define.
	(lookup_parameter_binding): Remove function.
	(cxx_bind_parameters_in_call): Remove unused code.
	(cxx_eval_call_expression): Likewise.
	(cxx_eval_constant_expression): Likewise.

From-SVN: r222126
2015-04-15 14:46:22 +00:00
Jeff Law
5141ed4263 re PR rtl-optimization/42522 ((zero_extract:SI (mem:QI) ...) misoptimized)
PR rtl-optimization/42522
        * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
        SIGN_EXTRACT as a whole object rather than simplifying
        its operand.

From-SVN: r222125
2015-04-15 06:24:28 -06:00
Jakub Jelinek
366ee94b44 re PR ipa/65765 (Compiling Firefox with GCC 5 leads to broken javascript engine on x86-64)
PR ipa/65765
	* ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
	and GIMPLE_PREDICT use break instead of return true. For
	GIMPLE_EH_DISPATCH, compare dispatch region.

	* g++.dg/ipa/pr65765.C: New test.

From-SVN: r222123
2015-04-15 13:47:44 +02:00
Andreas Schwab
f8a7e15406 re PR bootstrap/65763 (tm.h: No such file or directory)
PR bootstrap/65763
	* Makefile.am (gcc_build_dir): Remove $(host_subdir)/ part.
	* Makefile.in: Regenerated.

From-SVN: r222121
2015-04-15 11:23:59 +02:00
Matthew Wahab
a1e2583920 extend.texi (__sync Builtins): Simplify some text.
* doc/extend.texi (__sync Builtins): Simplify some text.  Update
	details about the implementation.  Make clear preference for
	__atomic builtins.  Reduce possibility of future change.

From-SVN: r222120
2015-04-15 08:35:53 +00:00
Rainer Orth
eea6e98958 Ignore elfdump warnings in scripts/extract_symvers.pl
* scripts/extract_symvers.pl: Ignore elfdump error output.

From-SVN: r222117
2015-04-15 07:48:59 +00:00
Nick Clifton
e4614c187b rx.opt (mallow-string-insns): New option.
* config/rx/rx.opt (mallow-string-insns): New option.
	* config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
	builtin if string instructions are denied.
	* config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
	__RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
	appropriate.
	(ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
	* config/rx/rx.md (movstr): Enable pattern only if string
	instructions are allowed.
	(rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
	(cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
	* config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
	(MULTILIB_DIRNAMES): Add no-strings.
	* doc/invoke.texi: Document -mno-allow-string-insns.

	* gcc.target/rx/builtins.c: Disable RMPA test if string
	instructions are not allowed.

From-SVN: r222116
2015-04-15 07:41:07 +00:00
Alan Modra
984b20545f re PR target/65408 (powerpc64 function argument passing may access invalid memory)
PR target/65408
	PR target/58744
	PR middle-end/36043
	* calls.c (load_register_parameters): Don't load past end of
	mem unless suitably aligned.

From-SVN: r222115
2015-04-15 16:59:01 +09:30
Nick Clifton
9368432388 rl78.c (rl78_expand_prologue): Mark large stack decrement instruction as being frame related.
* config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
	decrement instruction as being frame related.
	(rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
	based addresses.
	If zero extending a function address enclose the operation in
	%code(...).
	(rl78_preferred_reload_class): New function.
	(TARGET_PREFERRED_RELOAD_CLASS): Define.
	* config/rl78/rl78.md: Remove useless constraints in expanders.
	(mulqi3_rl78): Remove + qualifier on input-only operand 1.
	(mulhi3_rl78): Likewise.
	(mulhi3_g13): Likewise.
	(mulsi3_rl78): Likewise.
	(es_addr): Move to before the multiply patterns.

From-SVN: r222114
2015-04-15 07:24:44 +00:00
Alan Modra
614d5bd88d function.h (struct emit_status): Delete x_first_insn, x_last_insn and sequence_stack.
* function.h (struct emit_status): Delete x_first_insn, x_last_insn
	and sequence_stack.  Add seq.
	(seq_stack): Delete.
	* function.c (prepare_function_start): Don't access x_last_insn.
	* emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
	(get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
	* emit_rtl.c (start_sequence, push_topmost_sequence,
	pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
	sequence accessors.
	(get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
	remove_insn): Likewise.  Simplify.
	* config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
	and pop_topmost_sequence.
	(m32c_function_needs_enter): Use get_topmost_sequence.  Ignore
	debug insns.
	* config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.

From-SVN: r222112
2015-04-15 15:35:44 +09:30
Jerry DeLisle
241cbc7a5f re PR fortran/65089 (FAIL: gfortran.dg/io_real_boz(2|_[45]).f90 when tested with -fsanitize=address)
2015-04-14 Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/65089
	* io/format.h (free_format): New function to free memory
	allocated for building format error messages.
	* io/format.c (format_error): Add checks before freeing memory
	to avoid potential segfaults and free formatting data when
	needed on error conditions. Always allocate and NULL terminate
	the string.
	* io/transfer.c (st_read_done, st_write_done): Use new
	free_format function to clean up memory allocations when done.

From-SVN: r222111
2015-04-15 01:27:03 +00:00
Mikhail Maltsev
182d115c19 tree.c (replace_placeholders_t): Remove unused type.
* tree.c (replace_placeholders_t): Remove unused type.
	(replace_placeholders): Remove unused pset.

From-SVN: r222110
2015-04-14 20:58:28 -04:00
GCC Administrator
9282d562f7 Daily bump.
From-SVN: r222109
2015-04-15 00:16:15 +00:00
Jason Merrill
57c5e96e2d * pt.c (lookup_template_class_1): Use coerce_innermost_template_parms.
From-SVN: r222104
2015-04-14 17:31:07 -04:00
Yvan Roux
c07ad89a04 re PR target/65729 (ICE (in prohibited_class_reg_set_mode_p, at lra-constraints.c) on arm-linux-gnueabihf)
gcc/
2015-04-14  Yvan Roux  <yvan.roux@linaro.org>

	PR target/65729
	* lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
	the assertiion.

gcc/testsuite/
2015-04-14  Yvan Roux  <yvan.roux@linaro.org>

	PR target/65729
	* gcc.target/arm/pr65729.c: New test.

From-SVN: r222101
2015-04-14 17:21:54 +00:00