Commit Graph

138225 Commits

Author SHA1 Message Date
Ramana Radhakrishnan 49c6543450 Add cpu_defines.h for ARM.
2015-05-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* configure.host: Define cpu_defines_dir for ARM.
	* config/cpu/arm/cpu_defines.h: New file.

From-SVN: r223361
2015-05-19 12:47:50 +00:00
Nick Clifton bdafd67926 re PR rtl-optimization/66156 ([msp430] wrong code generated with -O2 -mlarge (zero extension HI -> SI))
PR target/66156
	* config/msp430/msp430.md (zero_extendhisi2): Add support for
	separate source and destination registers.

From-SVN: r223354
2015-05-19 11:42:44 +00:00
Rainer Orth 057c74c7c5 Fix gcc.dg/vect/bb-slp-35.c on SPARC
* gcc.dg/vect/bb-slp-35.c: Adjust.

From-SVN: r223353
2015-05-19 11:40:44 +00:00
Julian Brown c831982647 plugin-nvptx.c (nvptx_get_num_devices): Return zero on cuInit failure.
* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
	on cuInit failure.

From-SVN: r223352
2015-05-19 11:06:31 +00:00
Richard Biener 9626d143b9 re PR tree-optimization/66165 (vect_transform_slp_perm_load: vec out of range ?)
2015-05-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66165
	* tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
	for no load permutation.

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

	PR tree-optimization/66185
	* tree-vect-slp.c (vect_build_slp_tree): Properly roll back
	when building the SLP node from scalars.

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

From-SVN: r223349
2015-05-19 09:36:35 +00:00
Eric Botcazou d33606c306 insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
* insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
	* builtins.c (expand_builtin_update_setjmp_buf): Make global.
	(expand_stack_restore): Call record_new_stack_level.
	(expand_stack_save): Do not call do_pending_stack_adjust.
	* builtins.h (expand_builtin_update_setjmp_buf): Declare.
	* calls.c (expand_call): Call record_new_stack_level for alloca.
	* except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
	wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
	(update_sjlj_context): New global function.
	* except.h (update_sjlj_context): Declare.
	* explow.c (record_new_stack_level): New global function.
	(allocate_dynamic_stack_space): Call record_new_stack_level.
	* explow.h (record_new_stack_level): Declare.
	* final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
	* cfgrtl.c (duplicate_insn_chain): Likewise.

Co-Authored-By: Tristan Gingold <gingold@adacore.com>

From-SVN: r223348
2015-05-19 09:33:27 +00:00
Kyrylo Tkachov 76e048a8c0 [calls.c] Remove #ifdef checks on STACK_GROWS_DOWNWARD
* calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
	(mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
	STACK_GROWS_DOWNWARD as normal if.
	(expand_call): Likewise.

From-SVN: r223347
2015-05-19 08:43:17 +00:00
Oleg Endo d0ae0f51fa re PR target/54236 ([SH] Improve addc and subc insn utilization)
gcc/
	PR target/54236
	* config/sh/sh.md (*round_int_even): New insn_and_split and
	accompanying new unnamed split.

gcc/testsuite/
	PR target/54236
	* gcc.target/sh/pr54236-2.c: Adjust expected insn counts.

From-SVN: r223346
2015-05-19 08:00:41 +00:00
Richard Sandiford 07a737f333 bitmap.c (bitmap_set_range): Handle count==1 specially.
gcc/
	* bitmap.c (bitmap_set_range): Handle count==1 specially.
	(bitmap_clear_range): Likewise.
	* cfgcleanup.c (mark_effect): Use bitmap_clear_range and
	bitmap_set_range unconditionally.
	* df-problems.c (df_simulate_one_insn_forwards): Likewise.
	* df-scan.c (df_mark_reg): Likewise.
	* haifa-sched.c (setup_ref_regs): Likewise.
	* sched-rgn.c (update_live_1): Likewise.

From-SVN: r223344
2015-05-19 07:11:37 +00:00
Richard Sandiford 72d19505ee regs.h (END_HARD_REGNO): Delete.
gcc/
	* regs.h (END_HARD_REGNO): Delete.
	(END_REGNO): Move to...
	* rtl.h: ...here.
	* bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
	* caller-save.c (mark_set_regs): Likewise.
	* combine.c (move_deaths, distribute_notes): Likewise.
	* cse.c (invalidate, invalidate_for_call): Likewise.
	* df-scan.c (df_ref_record): Likewise.
	* postreload-gcse.c (reg_changed_after_insn_p): Likewise.
	(record_last_reg_set_info): Likewise.
	* reg-stack.c (convert_regs_exit): Likewise.
	* reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
	* resource.c (update_live_status): Likewise.
	* rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.

From-SVN: r223343
2015-05-19 07:11:18 +00:00
Richard Sandiford 9188b2863c rtl.h (reg_info): Add an nregs field.
gcc/
	* rtl.h (reg_info): Add an nregs field.
	(REG_NREGS): Use it.
	(SET_REGNO_RAW): Delete.
	(set_regno_raw): New function.
	* regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
	(END_REGNO): Redefine in terms of REG_NREGS.
	* read-rtl.c (read_rtx_code): Call set_regno_raw instead of
	SET_REGNO_RAW.
	* emit-rtl.c (set_mode_and_regno): Likewise.
	* df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
	instead of SET_REGNO_RAW.

From-SVN: r223342
2015-05-19 07:10:42 +00:00
Richard Sandiford 8deccbb7c8 rtl.h (PUT_MODE_RAW): New macro.
gcc/
	* rtl.h (PUT_MODE_RAW): New macro.
	(PUT_REG_NOTE_KIND): Use it.
	(set_mode_and_regno): Declare.
	(gen_raw_REG): Change regno to "unsigned int".
	(gen_rtx_REG): Change "unsigned" to "unsigned int".
	(PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
	use set_mode_and_regno to change the mode of registers.
	* gengenrtl.c (gendef): Use PUT_MODE_RAW.
	* emit-rtl.c (set_mode_and_regno): New function.
	(gen_raw_REG): Change regno to unsigned int.  Use set_mode_and_regno.
	* caller-save.c (reg_save_code): Use set_mode_and_regno.
	* expr.c (init_expr_target): Likewise.
	* ira.c (setup_prohibited_mode_move_regs): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.

From-SVN: r223341
2015-05-19 07:10:30 +00:00
Richard Sandiford 5d2446b1ed caller-save.c (init_caller_save): Use word_mode and FIRST_PSEUDO_REGISTER when creating temporary rtxes.
gcc/
	* caller-save.c (init_caller_save): Use word_mode and
	FIRST_PSEUDO_REGISTER when creating temporary rtxes.
	* expr.c (init_expr_target): Likewise.
	* ira.c (setup_prohibited_mode_move_regs): Likewise.
	* postreload.c (reload_cse_regs_1): Likewise.

From-SVN: r223340
2015-05-19 07:10:15 +00:00
Richard Sandiford 9fccb33594 rtl.def (REG): Change format to "r".
gcc/
	* rtl.def (REG): Change format to "r".
	* rtl.h (rtunion): Remove rt_reg.
	(reg_info): New structure.
	(rtx_def): Add reg field to main union.
	(X0REGATTR): Delete.
	(REG_CHECK): New macro.
	(SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
	* rtl.c (rtx_format): Document "r".
	(rtx_code_size): Handle REG specially.
	* gengenrtl.c (special_format): Return true for formats
	that include 'r'.
	* gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
	Deal with REG_ATTRS after the field loop.
	* emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
	* expmed.c (init_expmed): Call gen_raw_REG instead of
	gen_rtx_raw_REG.
	* expr.c (init_expr_target): Likewise.
	* regcprop.c (maybe_mode_change): Likewise.
	* varasm.c (make_decl_rtl): Likewise.
	* final.c (leaf_renumber_regs_insn): Return early after
	handling REGs.
	* genemit.c (gen_exp): Handle 'r' fields.
	* genpeep.c (match_rtx): Likewise.
	* gensupport.c (subst_pattern_match): Likewise.
	(get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
	(alter_constraints, subst_dup): Likewise.
	* read-rtl.c (read_rtx_code): Likewise.
	* print-rtl.c (print_rtx): Likewise.
	* genrecog.c (find_operand, find_matching_operand): Likewise.
	(validate_pattern, match_pattern_2): Likewise.
	(parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
	(rtx_test::regno_field): New function.
	(operator ==, safe_to_hoist_p, transition_parameter_type)
	(parameter_type_string, print_parameter_value)
	(print_nonbool_test, print_test): Handle new enum values.
	* cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
	* lra-constraints.c (operands_match_p): Likewise.

From-SVN: r223339
2015-05-19 07:09:42 +00:00
Richard Sandiford e1a2b02198 df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
gcc/
	* df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
	Change type of new_regno to unsigned int.
	* df-scan.c (df_ref_change_reg_with_loc_1): Change type of
	new_regno to unsigned int.
	(df_ref_change_reg_with_loc): Remove old_regno parameter.
	Change type of new_regno to unsigned int.  Use SET_REGNO_RAW.
	* rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
	(SET_REGNO_RAW): Add space after ",".

From-SVN: r223338
2015-05-19 07:09:23 +00:00
Richard Sandiford dc8afb709d rtl.h (REG_NREGS): New macro
gcc/
	* rtl.h (REG_NREGS): New macro
	* alias.c (record_set): Use it.
	* cfgcleanup.c (mark_effect): Likewise.
	* combine.c (likely_spilled_retval_1): Likewise.
	(likely_spilled_retval_p, can_change_dest_mode): Likewise.
	(move_deaths, distribute_notes): Likewise.
	* cselib.c (cselib_record_set): Likewise.
	* df-problems.c (df_simulate_one_insn_forwards): Likewise.
	* df-scan.c (df_mark_reg): Likewise.
	* dse.c (look_for_hardregs): Likewise.
	* dwarf2out.c (reg_loc_descriptor): Likewise.
	(multiple_reg_loc_descriptor): Likewise.
	* expr.c (write_complex_part, read_complex_part): Likewise.
	(emit_move_complex): Likewise.
	* haifa-sched.c (setup_ref_regs): Likewise.
	* ira-lives.c (mark_hard_reg_live): Likewise.
	* lra.c (lra_set_insn_recog_data): Likewise.
	* mode-switching.c (create_pre_exit): Likewise.
	* postreload.c (reload_combine_recognize_const_pattern): Likewise.
	(reload_combine_recognize_pattern): Likewise.
	(reload_combine_note_use, move2add_record_mode): Likewise.
	(reload_cse_move2add): Likewise.
	* reg-stack.c (subst_stack_regs_pat): Likewise.
	* regcprop.c (kill_value, copy_value): Likewise.
	(copyprop_hardreg_forward_1): Likewise.
	* regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
	(build_def_use): Likewise.
	* sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
	(deps_analyze_insn): Likewise.
	* sched-rgn.c (check_live_1, update_live_1): Likewise.
	* sel-sched.c (count_occurrences_equiv): Likewise.
	* valtrack.c (dead_debug_insert_temp): Likewise.

From-SVN: r223337
2015-05-19 07:09:06 +00:00
Richard Sandiford 53d1bae901 cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
gcc/
	* cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
	* dse.c (note_add_store): Likewise.
	* ira-lives.c (mark_hard_reg_dead): Likewise.
	* loop-invariant.c (mark_reg_store): Likewise.
	(mark_reg_death): Likewise.
	* postreload.c (reload_combine): Likewise.
	(reload_combine_note_store): Likewise.
	(reload_combine_note_use): Likewise.
	* recog.c (peep2_reg_dead_p): Likewise.

From-SVN: r223336
2015-05-19 07:08:49 +00:00
Alan Modra 8a480dc3d0 predicates.md (gpc_reg_operand): Don't allow all hard registers numbered greater or equal to ARG_POINTER_REGNUM.
* config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
	hard registers numbered greater or equal to ARG_POINTER_REGNUM.
	(reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
	unused predicates.
	* config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
	Use altivec_register_operand.  Make insn predicate TARGET_ALTIVEC.
	* config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
	* config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.

From-SVN: r223335
2015-05-19 15:40:58 +09:30
Prachi Godbole abf96035ef mips.md (JOIN_MODE): New mode iterator.
gcc/
	* config/mips/mips.md (JOIN_MODE): New mode iterator.
	(join2_load_Store<JOIN_MODE:mode>): New pattern.
	(join2_loadhi): Likewise.
	(define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
	load-load and store-stores.
	* config/mips/mips.opt (mload-store-pairs): New option.
	(TARGET_LOAD_STORE_PAIRS): New macro.
	* config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
	* config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
	* config/mips/mips.c (mips_load_store_bonding_p): New function.

gcc/testsuite/
	* gcc.target/mips/p5600-bonding.c : New file.

From-SVN: r223334
2015-05-19 05:06:03 +00:00
Mikhail Maltsev fab27f5289 Use std::swap instead of explicit swaps
gcc/
	* bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
	explicit swaps.
	* dojump.c (do_compare_rtx_and_jump): Likewise.
	* expmed.c (emit_store_flag_1): Likewise.
	* fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
	* final.c (sprint_ul): Use std::reverse for reversing a string.
	* fold-const.c (extract_muldiv_1): Use std::swap.
	* genmodes.c (emit_mode_int_n): Likewise.
	* ifcvt.c (dead_or_predicable): Likewise.
	* ira-build.c (ira_merge_live_ranges): Likewise.
	(swap_allocno_copy_ends_if_necessary): Likewise.
	* ira.c (ira_setup_alts): Likewise.
	* loop-iv.c (iv_analyze_expr): Likewise.
	(implies_p): Likewise.
	(canon_condition): Likewise.
	* lra-constraints.c (swap_operands): Likewise.
	* lra-lives.c (lra_merge_live_ranges): Likewise.
	* omega.c (swap): Remove.
	(bswap): Remove.
	(omega_unprotect_1): Use std::swap.
	(omega_solve_geq): Likewise.
	* optabs.c (expand_binop_directly): Likewise.
	(expand_binop): Likewise.
	(emit_conditional_move): Likewise.
	(emit_conditional_add): Likewise.
	* postreload.c (reload_cse_simplify_operands): Likewise.
	* reg-stack.c (emit_swap_insn): Likewise.
	(swap_to_top): Likewise.
	(compare_for_stack_reg): Likewise.
	(subst_asm_stack_regs): Likewise.
	* reload.c (find_reloads): Likewise.
	* reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
	* sel-sched.c (invoke_reorder_hooks): Likewise.
	(create_block_for_bookkeeping): Likewise.
	* tree-data-ref.c (lambda_matrix_row_exchange): Remove.
	(lambda_matrix_right_hermite): Use std::swap.
	* tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
	* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
	* tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
	* tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
	* tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
	* tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
	* tree-vrp.c (compare_ranges): Likewise.
	* var-tracking.c (add_with_sets): Likewise.
	(vt_find_locations): Likewise.

gcc/c/
	* c-typeck.c (build_array_ref): Use std::swap instead of explicit
	swaps

gcc/cp/
	* typeck.c (composite_pointer_type): Use std::swap instead of explicit
	swaps.

gcc/c-family/
	* c-common.c (shorten_compare): Use std::swap instead of explicit swaps.

gcc/fortran/
	* interface.c (compare_actual_formal): Use std::swap instead of
	explicit swaps.
	* trans-array.c (gfc_trans_scalarized_loop_end): Likewise.
	* trans-intrinsic.c (walk_inline_intrinsic_transpose): Likewise.

From-SVN: r223332
2015-05-19 04:24:31 +00:00
GCC Administrator de7fe08778 Daily bump.
From-SVN: r223330
2015-05-19 00:16:14 +00:00
Steven G. Kargl 898344a944 re PR fortran/66057 (ICE for incomplete generic statement (gfc_match_generic))
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66057
	* interface.c(gfc_match_end_interface): Enforce F2008 C1202 (R1201).
	* match.c(gfc_op2string): Return 'none' for INTRINSIC_NONE.


2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66057
	* gfortran.dg/interface_operator_1.f90: New tests.

From-SVN: r223326
2015-05-18 23:26:38 +00:00
Steven G. Kargl 377e37c159 re PR fortran/66057 (ICE for incomplete generic statement (gfc_match_generic))
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66057
	* decl.c(gfc_match_generic):  Detected a malformed GENERIC statement.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66057
	* gfortran.dg/generic_29.f90: New tests.

From-SVN: r223325
2015-05-18 23:09:49 +00:00
Steven G. Kargl 73641c881f re PR fortran/66052 (Segmentation fault for misplaced protected statement)
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66052
	* decl.c(gfc_match_protected): Prevent dereference of NULL pointer. 

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66052
	* gfortran.dg/protected_9.f90: New test.

From-SVN: r223324
2015-05-18 22:52:52 +00:00
Steven G. Kargl bfeeb14516 re PR fortran/66045 (ICE on incorrect code with null)
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66045
	* expr.c (gfc_check_assign):  Check for assignment of NULL() instead
	of the (intended) pointer assignment.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66045
	* gfortran.dg/null1.f90: New test.

From-SVN: r223322
2015-05-18 22:21:08 +00:00
Steven G. Kargl fce523bf9b re PR fortran/66044 (ICE on misplaced entry statement)
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66044
	* decl.c(gfc_match_entry):  Change a gfc_internal_error() into
	a gfc_error() 

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66044
	* gfortran.dg/entry_21.f90: New test.

From-SVN: r223321
2015-05-18 22:06:48 +00:00
Steven G. Kargl ce7fb7118f re PR fortran/66043 (ICE on storage_size of null or output of null array)
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66043
	* check.c (gfc_check_storage_size): Prevent the direct use of NULL()
	in STORAGE_SIZE() reference.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66043
	* gfortran.dg/storage_size_6.f90: New tests.

From-SVN: r223320
2015-05-18 21:52:03 +00:00
Steven G. Kargl 46b6b3542d re PR fortran/66040 (ICE on misplaced sequence in function)
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66040
	* parse.c(verify_st_order): Replace a gfc_internal_error with your
	generic gfc_error.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66040
	* gfortran.dg/misplaced_statement.f90: New test.

From-SVN: r223318
2015-05-18 21:16:05 +00:00
Joseph Myers 589ff4d209 * sv.po: Update.
From-SVN: r223316
2015-05-18 22:06:01 +01:00
Steven G. Kargl 20898e8096 re PR fortran/66039 (ICE on incomplete parentheses at rewind, flush, endfile, backspace)
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66039
	* io.c (match_filepos): Check for incomplete/mangled REWIND, FLUSH,
	BACKSPACE, and ENDFILE statements

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/66039
	* gfortran.dg/filepos1.f90: New test

From-SVN: r223315
2015-05-18 21:04:33 +00:00
Jason Merrill 703245d706 revert: Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.
Revert:
	* Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.

From-SVN: r223314
2015-05-18 16:22:14 -04:00
Steven G. Kargl f7c1c17192 re PR fortran/64925 (ICE with same names for dummy arg and internal procedure)
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/64925
	* symbol.c(check_conflict):  Check for a conflict between a dummy
	argument and an internal procedure name.

2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/64925
	* gfortran.dg/pr64925.f90: New test.

From-SVN: r223313
2015-05-18 19:25:49 +00:00
Jason Merrill 87734648c9 * Makefile.in (GCC_WARN_CXXFLAGS): Add -std=c++98.
From-SVN: r223312
2015-05-18 15:21:54 -04:00
Steven G. Kargl 71c87d1c0f pr41521_0.f90: Move INTERFACE statement in program unit.
2015-05-18  Steven G. Kargl  <kargl@gcc.gnu.org>

	* gfortran.dg/lto/pr41521_0.f90: Move INTERFACE statement in program
	unit.
	* gfortran.dg/lto/pr41576_1.f90: Ditto.

From-SVN: r223309
2015-05-18 18:59:48 +00:00
Andreas Tobler 8ea0dcb9e0 freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build pie executables.
2015-05-18  Andreas Tobler  <andreast@gcc.gnu.org>

gcc:
        * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
	pie executables.
	(FBSD_ENDFILE_SPEC): Likewise.
	* config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
	config/freebsd-spec.h.
	(ENDFILE_SPEC): Likewise.

gcc/testsuite:
	* lib/target-supports.exp (check_effective_target_pie): Add *-*-freebsd*
	to the family of pie capable targets.

From-SVN: r223308
2015-05-18 20:37:18 +02:00
Jason Merrill f41aecf428 pt.c (retrieve_specialization): Make sure our arguments have gone through strip_typedefs.
* pt.c (retrieve_specialization): Make sure our arguments have
	gone through strip_typedefs.

From-SVN: r223305
2015-05-18 14:08:53 -04:00
Jason Merrill b237c4cbd3 pt.c (tsubst_decl): Call coerce_innermost_template_parms.
* pt.c (tsubst_decl) [VAR_DECL]: Call coerce_innermost_template_parms.
	(determine_specialization): Call coerce_template_parms.

From-SVN: r223304
2015-05-18 14:08:48 -04:00
Jason Merrill c4d6d7bc46 DR 1391
DR 1391
	* pt.c (type_unification_real): Check convertibility here.
	(unify_one_argument): Not here.

From-SVN: r223301
2015-05-18 13:14:11 -04:00
Jason Merrill 8f56fadc24 tree.c (strip_typedefs_expr): Fix typo.
* tree.c (strip_typedefs_expr) [TRAIT_EXPR]: Fix typo.
	(strip_typedefs) [DECLTYPE_TYPE]: Fix typedef of decltype.
	[TREE_LIST]: Fix no-change case.

From-SVN: r223300
2015-05-18 13:14:04 -04:00
Jason Merrill 80f1c14df5 * ptree.c (cxx_print_xnode): Handle TRAIT_EXPR.
From-SVN: r223299
2015-05-18 13:13:59 -04:00
Uros Bizjak 6f2ac3606e re PR rtl-optimization/57032 (internal compiler error: Max. number of generated reload insns per insn is achieved (90))
PR target/57032
	* config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
	Check for a memory location that is not a reference (using an AND)
	to an unaligned location here.
	* config/alpha/predicates.md (normal_memory_operand): Remove.


Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r223298
2015-05-18 18:34:23 +02:00
Tom de Vries 323eb6e3cf check_GNU_style.sh: Don't do 80 char check line by line
2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh: Add temp files tmp2 and tmp3.
	(cat_with_prefix): New function, using global variable prefix.
	(col): Make prefix a global variable. Rewrite to process file at a time
	rather than line at a time.  Print part longer than 80 chars in red.

From-SVN: r223297
2015-05-18 15:44:55 +00:00
Alex Velenko 0454e69840 arm.md (andsi_not_shiftsi_si_scc): New pattern.
gcc/config

2015-05-18  Alex Velenko  <Alex.Velenko@arm.com>

  	* arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
  	(andsi_not_shiftsi_si_scc_no_reuse): New pattern.

gcc/testsuite

2015-05-18  Alex Velenko <Alex.Velenko@arm.com>

  	* gcc.target/arm/bics_1.c : New testcase.
  	* gcc.target/arm/bics_2.c : New testcase.
  	* gcc.target/arm/bics_3.c : New testcase.
  	* gcc.target/arm/bics_4.c : New testcase.

From-SVN: r223295
2015-05-18 14:38:41 +00:00
Robert Suchanek fb05f2e4dd Fix ICE when both micromips and nomicromips attributes are used.
gcc/ChangeLog:

2015-05-18  Robert Suchanek  <robert.suchanek@imgtec.com>

	* config/mips/mips.c (micromips_globals): New variable.
	(mips_set_compression_mode): Save and reinitialize target-dependent
	state for microMIPS.

gcc/testsuite/ChangeLog:

2015-05-18  Robert Suchanek  <robert.suchanek@imgtec.com>

	* gcc.target/mips/umips-attr.c: New test.

From-SVN: r223294
2015-05-18 14:32:19 +00:00
Martin Liska 7aeb92b472 IPA ICF: add support for debug counter.
* dbgcnt.def: Add new counter.
	* ipa-icf.c (sem_item_optimizer::merge_classes): Use the
	counter.

From-SVN: r223288
2015-05-18 09:05:15 +00:00
Martin Liska 68d070ac6a dbgcnt: enhance behavior.
* dbgcnt.def: Sort counters.
	* opts.c (common_handle_option): Do not compile if
	-fdbg-cnt-list is enabled.

From-SVN: r223287
2015-05-18 09:03:28 +00:00
Tom de Vries 2fe1d762d6 Move array-type va_list handling to build_va_arg
2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* gimplify.c (gimplify_modify_expr): Remove do_deref handling.
	(gimplify_va_arg_expr): Remove do_deref handling.  Remove adding of
	address operator to va_list operand.
	* tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
	unconditionally.
	* config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
	operand.
	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
	* config/s390/s390.c (s390_gimplify_va_arg): Same.
	* config/spu/spu.c (spu_gimplify_va_arg_expr): Same.

	* c-common.c (build_va_arg_1): New function.
	(build_va_arg): Add address operator to va_list operand if necessary.

From-SVN: r223286
2015-05-18 08:19:29 +00:00
Tom de Vries daf347dddd Fix whitespace in tree-ssa-tail-merge.c
2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c: Fix whitespace.

From-SVN: r223285
2015-05-18 08:14:09 +00:00
Tom de Vries ad7f0dfea3 check_GNU_style.sh: Don't cat empty file
2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh (g, ag, vg): Don't cat empty file.

From-SVN: r223284
2015-05-18 07:07:44 +00:00
Tom de Vries 847b6e1511 check_GNU_style.sh: Declare local vars with local
2015-05-18  Tom de Vries  <tom@codesourcery.com>

	* check_GNU_style.sh (g, ag, vg, col): Declare local vars with local.

From-SVN: r223283
2015-05-18 07:07:36 +00:00