Commit Graph

111143 Commits

Author SHA1 Message Date
Joseph Myers
c4b3a0a0b9 c-decl.c (grokdeclarator): Diagnose _Noreturn for non-C1X if pedantic.
* c-decl.c (grokdeclarator): Diagnose _Noreturn for non-C1X if
	pedantic.
	* c-parser.c (c_parser_declspecs): Include _Noreturn in syntax
	comment.
	* ginclude/stdnoreturn.h (noreturn): Don't define for C++.

testsuite:
	* gcc.dg/c90-noreturn-1.c, gcc.dg/c99-noreturn-1.c: New tests.

From-SVN: r177899
2011-08-19 14:25:51 +01:00
Jakub Jelinek
c26dffff5c re PR fortran/49792 (OpenMP workshare: Wrong result with array assignment)
PR fortran/49792
	* trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS
	bit in ompws_flags only if loop.temp_ss is NULL, and clear it if
	lhs needs reallocation.
	* trans-openmp.c (gfc_trans_omp_workshare): Don't return early if
	code is NULL, emit a barrier if workshare emitted no code at all
	and NOWAIT clause isn't present.

	* testsuite/libgomp.fortran/pr49792-1.f90: New test.
	* testsuite/libgomp.fortran/pr49792-2.f90: New test.

From-SVN: r177898
2011-08-19 15:25:22 +02:00
Rainer Orth
df698a8707 Require C99 runtime in gcc.dg/builtins-67.c, gcc.target/i386/conversion.c
* gcc.dg/builtins-67.c: Use dg-add-options c99_runtime.
	* gcc.target/i386/conversion.c: Likewise.

From-SVN: r177897
2011-08-19 13:08:51 +00:00
Richard Guenther
ab37ef4cd0 pr50067-1.c: New testcase.
2011-08-19  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/torture/pr50067-1.c: New testcase.
	* gcc.dg/torture/pr50067-2.c: Likewise.

From-SVN: r177896
2011-08-19 12:30:36 +00:00
Joseph Myers
f6d08ab2de opth-gen.awk: Do not declare target save/restore structures and functions if IN_RTS defined.
* opth-gen.awk: Do not declare target save/restore structures and
	functions if IN_RTS defined.

From-SVN: r177894
2011-08-19 11:16:02 +01:00
Joey Ye
a3f9487098 re PR target/49437 (interrupt return pop sometimes corrupts sp)
PR target/49437
       * config/arm/arm.c (arm_output_epilogue): Properly handle epilogue
       when stack was realigned in interrupt handler prologue.

testsuite:

       PR target/49437
       * gcc.target/arm/handler-align.c: New test.
       * lib/target-supports.exp (check_effective_target_arm_cortex_m):
         New Function.

From-SVN: r177891
2011-08-19 08:28:08 +00:00
Joey Ye
96332fd82c * gcc.c-torture/execute/20101011-1.c (DO_TEST): Skip on ARM.
From-SVN: r177890
2011-08-19 07:43:45 +00:00
GCC Administrator
bc48e51afd Daily bump.
From-SVN: r177889
2011-08-19 00:18:37 +00:00
Mikael Morin
df1a69f6a8 re PR fortran/50071 (gfortran does not distinguish labels in different type scoping units)
2011-08-19  Mikael Morin  <mikael.morin@sfr.fr>

	PR fortran/50071
	* gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.
	* parse.c (check_statement_label): Accept ST_END_BLOCK and
	ST_END_ASSOCIATE as valid branch target.
	(accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.
	Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.
	* resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to
	EXEC_END_NESTED_BLOCK.
	(resolve_branch): Ditto.
	(resolve_code): Add EXEC_END_NESTED_BLOCK case.
	* st.c (gfc_free_statement): Ditto.
	* trans.c (trans_code): Ditto.

2011-08-19  Mikael Morin  <mikael.morin@sfr.fr>

	PR fortran/50071
	* gfortran.dg/end_block_label_1.f90: New test.
	* gfortran.dg/end_associate_label_1.f90: New test.

From-SVN: r177885
2011-08-18 22:42:38 +00:00
Joseph Myers
a7ad08aef7 * gcc.dg/c1x-pointer-float-1.c: New test.
From-SVN: r177884
2011-08-18 22:59:20 +01:00
Mikael Morin
4ee3237e0b re PR fortran/50071 (gfortran does not distinguish labels in different type scoping units)
2011-08-18  Mikael Morin  <mikael.morin@sfr.fr>

	PR fortran/50071
	* symbol.c (gfc_get_st_label): Use the derived type namespace when
	we are parsing a derived type definition.

2011-08-18  Mikael Morin  <mikael.morin@sfr.fr>

	PR fortran/50071
	* gfortran.dg/duplicate_labels_2.f: New test.

From-SVN: r177882
2011-08-18 21:39:42 +00:00
Joseph Myers
bbceee64be c-decl.c (shadow_tag_warned): Check for _Noreturn.
* c-decl.c (shadow_tag_warned): Check for _Noreturn.
	(quals_from_declspecs): Assert _Noreturn not present.
	(grokdeclarator): Handle _Noreturn.
	(build_null_declspecs): Initialize noreturn_p.
	(declspecs_add_scspec): Handle RID_NORETURN.
	* c-parser.c (c_token_starts_declspecs, c_parser_declspecs)
	(c_parser_attributes): Handle RID_NORETURN.
	* c-tree.h (struct c_declspecs): Add noreturn_p.
	* ginclude/stdnoreturn.h: New.
	* Makefile.in (USER_H): Add stdnoreturn.h.

c-family:
	* c-common.c (c_common_reswords): Add _Noreturn.
	(keyword_is_function_specifier): Handle RID_NORETURN.
	* c-common.h (RID_NORETURN): New.

testsuite:
	* gcc.dg/c1x-noreturn-1.c, gcc.dg/c1x-noreturn-2.c,
	gcc.dg/c1x-noreturn-3.c, gcc.dg/c1x-noreturn-4.c,
	gcc.dg/c1x-noreturn-5.c: New tests.

From-SVN: r177881
2011-08-18 22:35:42 +01:00
Rainer Orth
32fe396e05 Properly define __cplusplus (PR libstdc++-v3/1773)
PR libstdc++/1773
	* init.c (cpp_init_builtins): Define __cplusplus 19971L.

From-SVN: r177877
2011-08-18 17:29:10 +00:00
Kirill Yukhin
7afac11005 Add -mavx2.
2011-08-18  Kirill Yukhin  <kirill.yukhin@intel.com>

	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
	(OPTION_MASK_ISA_AVX_UNSET): Update.
	(OPTION_MASK_ISA_AVX2_UNSET): New.
	(ix86_handle_option): Handle OPT_mavx2 case.
	* config/i386/cpuid.h (bit_AVX2): New.
	* config/i386/driver-i386.c (host_detect_local_cpu): Detect
	AVX2 feature.
	* config/i386/i386-c.c (ix86_target_macros_internal):
	Conditionally define __AVX2__.
	* config/i386/i386.c (ix86_option_override_internal): Define
	PTA_AVX2.  Define "core-avx2" processor alias.  Handle avx2
	option.
	(ix86_valid_target_attribute_inner_p): Handle avx2 option.
	* config/i386/i386.h (TARGET_AVX2): New.
	* config/i386/i386.opt (mavx2): New.
	* doc/invoke.texi: Document -mavx2.

From-SVN: r177876
2011-08-18 10:24:39 -07:00
Vladimir Makarov
6277a71071 re PR rtl-optimization/49890 (IRA spill with plenty of available registers)
2011-08-18  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/49890
	* ira-costs.c (setup_regno_cost_classes_by_aclass): Don't exclude
	subclasses of class which is superset of a pressure class.

From-SVN: r177874
2011-08-18 17:06:18 +00:00
Marc Glisse
079a5ca908 cmath: Extend/update comment.
2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>

	* include/tr1/cmath: Extend/update comment.

From-SVN: r177873
2011-08-18 16:56:55 +00:00
Paolo Carlini
6ba30237b9 re PR libstdc++/50119 ([C++0x] copy_n advances InputIterator one more time than necessary)
2011-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50119
	* include/bits/stl_algo.h (__copy_n(_InputIterator, _Size,
	_OutputIterator, input_iterator_tag)): Fix.
	* testsuite/25_algorithms/copy_n/50119.cc: New.

From-SVN: r177871
2011-08-18 16:32:23 +00:00
H.J. Lu
df385b9c2b Change ix86_isa_flags to HOST_WIDE_INT.
2011-08-18  H.J. Lu  <hongjiu.lu@intel.com>
	    Igor Zamyatin <igor.zamyatin@intel.com>

	* config/i386/i386-c.c (ix86_target_macros_internal): Replace int
	with HOST_WIDE_INT for isa_flag.
	(ix86_pragma_target_parse): Replace int with HOST_WIDE_INT for
	isa variables.

	* config/i386/i386.c (ix86_target_string): Replace int with
	HOST_WIDE_INT for isa.  Use HOST_WIDE_INT_PRINT to print isa.
	(ix86_target_opts): Replace int with HOST_WIDE_INT on mask.
	(pta_flags): Removed.
	(PTA_XXX): Redefined as (HOST_WIDE_INT_1 << X).
	(pta): Use HOST_WIDE_INT on flags.
	(builtin_isa): Use HOST_WIDE_INT on isa.
	(ix86_add_new_builtins): Likewise.
	(def_builtin): Use HOST_WIDE_INT on mask.
	(def_builtin_const): Likewise.
	(builtin_description): Likewise.

	* config/i386/i386.opt (ix86_isa_flags): Replace int with
	HOST_WIDE_INT.
	(ix86_isa_flags_explicit): Likewise.
	(x_ix86_isa_flags_explicit): Likewise.

Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>

From-SVN: r177870
2011-08-18 08:56:01 -07:00
Joseph Myers
7c1ffff9f2 * include/cpplib.h (struct cpp_options): Fix typo.
From-SVN: r177869
2011-08-18 16:24:45 +01:00
Joseph Myers
a48e3dd10e c1x-uni-string-1.c, [...]: New tests.
gcc/testsuite:
	* gcc.dg/c1x-uni-string-1.c, gcc.dg/c1x-uni-string-2.c: New tests.

libcpp:
	* include/cpplib.h (struct cpp_options): Add rliterals.
	* init.c  (struct lang_flags, lang_defaults): Add rliterals.
	(cpp_set_lang): Set rliterals option.
	(cpp_init_builtins): Define __STDC_UTF_16__ and __STDC_UTF_32__.
	* lex.c (_cpp_lex_direct): Only accept raw strings if rliterals.

From-SVN: r177868
2011-08-18 16:13:49 +01:00
Tobias Burnus
3b6fa7a5c6 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * parse.c (parse_derived): Add lock_type
        checks, improve coarray_comp handling.
        * resolve.c (resolve_allocate_expr,
        resolve_lock_unlock, resolve_symbol): Fix lock_type
        constraint checks.

2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_lock_1.f90: Update dg-error.
        * gfortran.dg/coarray_lock_3.f90: Fix test.
        * gfortran.dg/coarray_lock_4.f90: New.
        * gfortran.dg/coarray_lock_5.f90: New.

From-SVN: r177867
2011-08-18 17:10:25 +02:00
Marc Glisse
a1998fab44 Use Solaris prototypes if possible (PR libstdc++-v3/1773)
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>

From-SVN: r177866
2011-08-18 14:59:47 +00:00
Vladimir Makarov
9181a6e5b0 re PR rtl-optimization/50107 ([IRA, i386] allocates registers in very non-optimal way)
2011-08-17  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/50107
	* ira-int.h (ira_hard_reg_not_in_set_p): Remove.
	(ira_hard_reg_in_set_p): New.

	* ira-color.c (calculate_saved_nregs): New.
	(assign_hard_reg): Use it.  Set up allocated_hard_reg_p for all
	hard regs.
	(allocno_reload_assign, fast_allocation): Use
	ira_hard_reg_set_intersection_p instead of
	ira_hard_reg_not_in_set_p.

	* ira.c (setup_reg_renumber): Use
	ira_hard_reg_set_intersection_p instead of
	ira_hard_reg_not_in_set_p.
	(setup_allocno_assignment_flags, calculate_allocation_cost): Use
	ira_hard_reg_in_set_p instead of ira_hard_reg_not_in_set_p.

	* ira-costs.c (ira_tune_allocno_costs): Use
	ira_hard_reg_set_intersection_p instead of
	ira_hard_reg_not_in_set_p.

From-SVN: r177865
2011-08-18 14:56:36 +00:00
H.J. Lu
99114bbfa1 Allow HOST_WIDE_INT for option variable.
2011-08-18  H.J. Lu  <hongjiu.lu@intel.com>
	    Igor Zamyatin <igor.zamyatin@intel.com>

	* hwint.h (HOST_WIDE_INT_1): New.

	* opt-functions.awk (switch_bit_fields): Initialize the
	host_wide_int field.
	(host_wide_int_var_name): New.
	(var_type_struct): Check and return HOST_WIDE_INT.

	* opt-read.awk: Handle HOST_WIDE_INT for "Variable".

	* optc-save-gen.awk: Support HOST_WIDE_INT on var_target_other.

	* opth-gen.awk: Use HOST_WIDE_INT_1 on HOST_WIDE_INT.  Properly
	check masks for HOST_WIDE_INT.

	* opts-common.c (set_option): Support HOST_WIDE_INT flag_var.
	(option_enabled): Likewise.
	(get_option_state): Likewise.

	* opts.h (cl_option): Add cl_host_wide_int.  Change var_value
	to HOST_WIDE_INT.

Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>

From-SVN: r177864
2011-08-18 07:52:06 -07:00
Rainer Orth
5b880ea61c Keep tm, div_t, ldiv_t, lconv mangling on Solaris (PR libstdc++-v3/1773)
Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r177863
2011-08-18 14:47:46 +00:00
Peter Collingbourne
901ebcdf97 2011-08-18 Peter Collingbourne <peter@pcc.me.uk>
* expr.c (expand_invoke) Use the type of the method rewrite
	target.

From-SVN: r177862
2011-08-18 14:47:32 +00:00
Jakub Jelinek
f44157f84b re PR target/50009 (Segmentation fault in tree_nop_conversion)
PR target/50009
	* stor-layout.c (update_alignment_for_field): Don't ICE on
	packed flexible array members if ms_bitfield_layout_p.

	* gcc.c-torture/compile/pr50009.c: New test.

From-SVN: r177860
2011-08-18 16:29:10 +02:00
Jakub Jelinek
2a63286d36 re PR target/50092 (internal compiler error: in elimination_costs_in_insn, at reload1.c:3633)
PR target/50092
	* config/i386/i386.c (assign_386_stack_local): Call validize_mem
	on the result before returning it.

	* gcc.dg/torture/pr50092.c: New test.

From-SVN: r177859
2011-08-18 16:27:38 +02:00
Tobias Burnus
a2f3eae24d re PR fortran/50109 (Formatted namelist read with multiple "!" fails with: Cannot match namelist object name !)
2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50109
        * io/list_read.c (eat_separator): Fix skipping over "!" lines.

2011-08-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50109
        * gfortran.dg/namelist_73.f90: New.

From-SVN: r177858
2011-08-18 16:23:41 +02:00
Jakub Jelinek
4dee97188f re PR debug/50017 (-fcompare-debug failure)
PR debug/50017
	* tree-vect-stmts.c (vect_finish_stmt_generation): If gsi_stmt (*gsi)
	is a debug stmt, use location of the first non-debug stmt after it.

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

From-SVN: r177857
2011-08-18 16:13:48 +02:00
Jakub Jelinek
51fdcb386b * g++.dg/plugin/decl_plugin.c: Include diagnostic.h.
From-SVN: r177856
2011-08-18 16:09:44 +02:00
Richard Sandiford
b28e37f19c arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
gcc/
	* config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
	(arm_size_rtx_costs): Likewise.

From-SVN: r177855
2011-08-18 13:47:21 +00:00
Richard Sandiford
c55b374bd5 bpabi-lib.h (RENAME_LIBRARY_SET): Delete.
libgcc/
	* config/arm/bpabi-lib.h (RENAME_LIBRARY_SET): Delete.

From-SVN: r177854
2011-08-18 13:45:07 +00:00
Richard Guenther
6b8045e1bb tree.h (tree_int_cst_msb): Remove.
2011-08-18  Richard Guenther  <rguenther@suse.de>

	* tree.h (tree_int_cst_msb): Remove.
	* tree.c (tree_int_cst_msb): Likewise.
	(tree_int_cst_sign_bit): Move from ...
	* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): ... here.

From-SVN: r177853
2011-08-18 12:42:22 +00:00
Richard Sandiford
68f932c443 tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
gcc/
	* doc/tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
	* doc/tm.texi: Regenerate.
	* target.def (rtx_costs): Add an opno parameter.
	* hooks.h (hook_bool_rtx_int_int_intp_bool_false): Replace with...
	(hook_bool_rtx_int_int_int_intp_bool_false): ...this.
	* hooks.c (hook_bool_rtx_int_int_intp_bool_false): Replace with...
	(hook_bool_rtx_int_int_int_intp_bool_false): ...this.
	* cse.c (COST_IN): Add an opno parameter.
	(notreg_cost): Likewise.  Update call to rtx_cost.
	(COST, fold_rtx): Update accordingly.
	* dojump.c (prefer_and_bit_test): Update call to rtx_cost.
	* expmed.c (emit_store_flag): Likewise.
	* optabs.c (avoid_expensive_constant): Add an opno parameter.
	Update call to rtx_cost.
	(expand_binop_directly, expand_binop): Likewise.
	(expand_twoval_binop, prepare_cmp_insn): Likewise.
	* rtl.h (rtx_cost, get_full_rtx_cost): Add opno parameters.
	(set_src_cost, get_full_set_src_cost): Update accordingly.
	* rtlanal.c (rtx_cost): Add an opno parameter.  Update call
	to target hook.
	(get_full_rtx_cost): Add an opno paramter.  Update calls to rtx_cost.
	(default_adress_cost): Update calls to rtx_cost.

	* config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs)
	(arm_slowmul_rtx_costs): Adjust calls to rtx_cost.
	(arm_rtx_costs): Add an opno parameter.
	* config/alpha/alpha.c (alpha_rtx_costs): Add an opno parameter and
	adjust any recursive rtx-cost calls.
	* config/avr/avr.c (avr_operand_rtx_cost, avr_rtx_costs): Likewise.
	* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
	* config/c6x/c6x.c (c6x_rtx_costs): Likewise.
	* config/cris/cris.c (cris_rtx_costs): Likewise.
	* config/frv/frv.c (frv_rtx_costs): Likewise.
	* config/h8300/h8300.c (h8300_rtx_costs): Likewise.
	* config/i386/i386.c (ix86_rtx_costs): Likewise.
	* config/ia64/ia64.c (ia64_rtx_costs): Likewise.
	* config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
	* config/lm32/lm32.c (lm32_rtx_costs): Likewise.
	* config/m32c/m32c.c (m32c_rtx_costs): Likewise.
	* config/m32r/m32r.c (m32r_rtx_costs): Likewise.
	* config/m68k/m68k.c (m68k_rtx_costs): Likewise.
	* config/mcore/mcore.c (mcore_rtx_costs): Likewise.
	* config/mep/mep.c (mep_rtx_cost): Likewise.
	* config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
	* config/mips/mips.c (mips_binary_cost): Update call to rtx_cost.
	(mips_zero_extend_cost): Add an opno parameter.
	* config/mmix/mmix.c (mmix_rtx_costs): Likewise.
	* config/mn10300/mn10300.c (mn10300_address_cost): Update call
	to rtx_cost.
	(mn10300_rtx_costs): Add an opno parameter and adjust any recursive
	rtx-cost calls.
	* config/pa/pa.c (hppa_rtx_costs): Likewise.
	* config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
	* config/picochip/picochip.c (picochip_rtx_costs): Likewise.
	* config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
	(rs6000_debug_rtx_costs): Likewise.
	* config/s390/s390.c (s390_rtx_costs): Likewise.
	* config/score/score-protos.h (score_rtx_costs): Likewise.
	* config/score/score.c (score_rtx_costs): Likewise.
	* config/sh/sh.c (andcosts): Update call to rtx_cost.
	(sh_rtx_costs): Add an opno parameter.
	* config/sparc/sparc.c (sparc_rtx_costs): Likewise.
	* config/spu/spu.c (spu_rtx_costs): Likewise.
	* config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
	* config/v850/v850.c (v850_rtx_costs): Likewise.
	* config/vax/vax.c (vax_rtx_costs): Likewise.
	* config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.

From-SVN: r177852
2011-08-18 12:37:53 +00:00
Richard Sandiford
5e8f01f434 rtl.h (set_src_cost, [...]): New functions.
gcc/
	* rtl.h (set_src_cost, get_full_set_src_cost): New functions.
	* auto-inc-dec.c (attempt_change): Use set_src_cost instead of
	rtx_cost.
	* calls.c (precompute_register_parameters): Likewise.
	* combine.c (expand_compound_operation, make_extraction): Likewise.
	(force_to_mode, distribute_and_simplify_rtx): Likewise.
	* dse.c (find_shift_sequence): Likewise.
	* expmed.c (init_expmed, expand_mult, expand_smod_pow2): Likewise.
	* expr.c (compress_float_constant): Likewise.
	* fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
	* gcse.c (want_to_gcse_p): Likewise.
	* ifcvt.c (noce_try_sign_mask): Likewise.
	* loop-doloop.c (doloop_optimize): Likewise.
	* loop-invariant.c (create_new_invariant): Likewise.
	* optabs.c (avoid_expensive_constant): Likewise.
	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands)
	(try_replace_in_use, reload_cse_move2add): Likewise.
	* reload1.c (calculate_elim_costs_all_insns): Likewise.
	(note_reg_elim_costly): Likewise.
	* rtlanal.c (insn_rtx_cost): Likewise.
	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
	* stmt.c (lshift_cheap_p): Likewise.
	* tree-ssa-loop-ivopts.c (seq_cost, computation_cost): Likewise.
	* config/avr/avr.c (final_prescan_insn): Likewise.
	* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
	* config/mips/mips.c (mips_binary_cost, mips_rtx_costs): Likewise.

From-SVN: r177851
2011-08-18 12:37:27 +00:00
Richard Sandiford
d51102f3e7 rtl.h (set_rtx_cost, [...]): New functions.
gcc/
	* rtl.h (set_rtx_cost, get_full_set_rtx_cost): New functions.
	* auto-inc-dec.c (attempt_change): Use set_rtx_cost.
	* cfgloopanal.c (seq_cost): Likewise.
	* loop-invariant.c (create_new_invariant): Likewise.
	* postreload.c (move2add_use_add2_insn, move2add_use_add3_insn)
	(reload_cse_move2add): Use get_full_set_rtx_cost.

From-SVN: r177850
2011-08-18 12:36:51 +00:00
Richard Guenther
fdb4f31533 expr.c (get_inner_reference): Fix typo in last change.
2011-08-18  Richard Guenther  <rguenther@suse.de>

	* expr.c (get_inner_reference): Fix typo in last change.

From-SVN: r177849
2011-08-18 11:40:45 +00:00
Paolo Carlini
4c9cf7af89 re PR tree-optimization/49963 (ICE: in abs_hwi, at hwint.c:108)
2011-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
	    Joseph Myers  <joseph@codesourcery.com>

	PR tree-optimization/49963
	* hwint.c (absu_hwi): Define.
	* hwint.h (absu_hwi): Declare.
	* fold-const.c (fold_plusminus_mult_expr): Use absu_hwi instead
	of abs_hwi.
	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
	* tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>

From-SVN: r177848
2011-08-18 11:30:42 +00:00
Richard Guenther
97919ae7b6 expr.c (get_inner_reference): Sign-extend the constant twos-complement offset before doing arbitrary...
2011-08-18  Richard Guenther  <rguenther@suse.de>

	* expr.c (get_inner_reference): Sign-extend the constant
	twos-complement offset before doing arbitrary precision
	arithmetic on it.
	* tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
	(get_constraint_for_1): Pass the offset of a MEM_REF unchanged
	to get_constraint_for_ptr_offset.

From-SVN: r177847
2011-08-18 08:33:21 +00:00
Dodji Seketeli
55715096b5 PR c++/45625 - Template parm name doesn't hide outer class scope's member name
gcc/cp/

	* pt.c (parameter_of_template_p): Handle comparison with DECLs of
	template parameters as created by process_template_parm.

gcc/testsuite/

	* g++.dg/lookup/hidden-var1.C: New test case.

From-SVN: r177846
2011-08-18 08:44:22 +02:00
GCC Administrator
c96012143a Daily bump.
From-SVN: r177843
2011-08-18 00:18:23 +00:00
Kaz Kojima
b566132b10 re PR target/50068 (Invalid memory access in incr_ticks_for_insn)
PR target/50068
	* config/sh/sh.c (sh_output_mi_thunk): Don't call dbr_schedule.

From-SVN: r177839
2011-08-17 22:49:18 +00:00
Tobias Burnus
dbad8e7176 re PR fortran/31461 (warn about entities in USE, ONLY statement not later used)
2011-08-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/31461
        * trans-decl.c (generate_local_decl): Warn about
        unused explicitly imported module variables/parameters.

2011-08-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/31461
        * gfortran.dg/warn_unused_var_2.f90: New.
        * gfortran.dg/warn_unused_var_3.f90: New.

From-SVN: r177833
2011-08-17 18:31:10 +02:00
Richard Guenther
0d82a1c872 tree.h (convert_to_ptrofftype_loc): New function.
2011-08-17  Richard Guenther  <rguenther@suse.de>

	* tree.h (convert_to_ptrofftype_loc): New function.
	(convert_to_ptrofftype): Define.
	* builtins.c (expand_builtin_bzero): Use size_type_node.
	(fold_builtin_bzero): Likewise.
	(std_gimplify_va_arg_expr): Build the BIT_AND_EXPR on the pointer.
	* c-typeck.c (build_unary_op): Use convert_to_ptrofftype_loc.
	* cgraphunit.c (thunk_adjust): Use fold_build_pointer_plus_loc.
	(cgraph_redirect_edge_call_stmt_to_callee): Use size_int.
	* expr.c (expand_expr_addr_expr_1): Use fold_build_pointer_plus.
	* fold-const.c (build_range_check): Negate using the original
	type.
	(fold_unary_loc): Use fold_build_pointer_plus_loc.
	* gimple-fold.c (gimple_adjust_this_by_delta): Use
	convert_to_ptrofftype.
	* gimplify.c (gimplify_self_mod_expr): Likewise.
	* graphite-clast-to-gimple.c (clast_to_gcc_expression): Likewise.
	(graphite_create_new_loop_guard): Likewise.
	* graphite-sese-to-poly.c (my_long_long): Remove.
	(scop_ivs_can_be_represented): Adjust.
	* tree-cfg.c (verify_gimple_assign_unary): Use ptrofftype_p.
	* tree-chrec.c (chrec_fold_plus_1): Use fold_build_pointer_plus.
	* tree-loop-distribution.c (build_size_arg_loc): Use
	size_type_node.
	(generate_memset_zero): Simplify.
	* tree-mudflap.c: Use fold_convert, not convert.
	* tree-predcom.c (suitable_reference_p): Expand DR_OFFSET in
	its own type.
	(determine_offset): Likewise for DR_STEP.
	(valid_initializer_p): Likewise.
	* tree-profile.c (prepare_instrumented_value): Convert the pointer
	to an integer type of same size.
	* tree-scalar-evolution.c (interpret_rhs_expr): Do not refer
	to sizetype without need.
	* tree-ssa-address.c (tree_mem_ref_addr): Likewise.
	* tree-ssa-loop-ivopts.c (find_bivs): Use convert_to_ptrofftype.
	* tree-ssa-loop-manip.c (create_iv): Likewise.
	(determine_exit_conditions): Adjust comment.
	* tree-ssa-pre.c (create_expression_by_pieces): Use
	convert_to_ptrofftype.
	* tree-ssa-structalias.c (get_constraint_for_1): Likewise.
	* varasm.c (array_size_for_constructor): Compute using double_ints.

From-SVN: r177828
2011-08-17 12:00:35 +00:00
Tom de Vries
f846d4d940 re PR target/43597 (Move and compare with 0 can be combined)
2011-08-17  Tom de Vries  <tom@codesourcery.com>

	PR target/43597
	* gcc.target/arm/pr43597.c: New test.

From-SVN: r177827
2011-08-17 11:39:06 +00:00
Richard Sandiford
1e138510fa re PR target/50090 (ARM EABI symbols in libgcc.a have default visibility)
libgcc/
	PR target/50090
	* config/arm/bpabi-lib.h (RENAME_LIBRARY): Use a C-level alias
	instead of an assembly one.

From-SVN: r177826
2011-08-17 11:13:20 +00:00
Janus Weil
30228b6181 re PR fortran/50070 (Segmentation fault at size_binop_loc in fold-const.c)
2011-08-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50070
	* resolve.c (resolve_fl_variable): Reject non-constant character lengths
	in COMMON variables.


2011-08-17  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50070
	* gfortran.dg/common_13.f90: New.

From-SVN: r177825
2011-08-17 11:14:18 +02:00
GCC Administrator
0de8f67e3f Daily bump.
From-SVN: r177820
2011-08-17 00:18:42 +00:00
Jason Merrill
fd4198e6b8 re PR c++/50086 ([C++0x] Error on lookup of template function address with variadic template arguments)
PR c++/50086
	* pt.c (unify_pack_expansion): Correct overloaded unification
	logic.

From-SVN: r177813
2011-08-16 19:26:08 -04:00