uweigand [Tue, 18 May 2010 07:58:36 +0000 (18 07:58 +0000)]
Update to gcc-4_4-branch revision 159486.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cell-4_4-branch@159526 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Wed, 7 Apr 2010 22:39:59 +0000 (7 22:39 +0000)]
Update to gcc-4_4-branch revision 158036.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cell-4_4-branch@158098 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Wed, 7 Apr 2010 22:34:48 +0000 (7 22:34 +0000)]
Fix date typos.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cell-4_4-branch@158097 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Mon, 7 Dec 2009 22:20:06 +0000 (7 22:20 +0000)]
2008-12-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-05-19 Andrew Pinski <andrew_pinski@playstation.sony.com>
* c-typeck.c (build_binary_op): Allow % on integal vectors.
* doc/extend.texi (Vector Extension): Document that % is allowed too.
gcc/cp/
2009-05-19 Andrew Pinski <andrew_pinski@playstation.sony.com>
* typeck.c (build_binary_op): Allow % on integal vectors.
gcc/testsuite/
2009-05-19 Andrew Pinski <andrew_pinski@playstation.sony.com>
* gcc.dg/vector-4.c: New testcase.
* gcc.dg/simd-1b.c: % is now allowed for integer vectors.
* g++.dg/ext/vector16.C: New testcase.
2008-12-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C/31499
* c-typeck.c (process_init_element): Treat VECTOR_TYPE like ARRAY_TYPE
and RECORD_TYPE/UNION_TYPE. When outputing the actual element and the
value is a VECTOR_CST, the element type is the element type of the
vector.
gcc/testsuite/
2009-04-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C/31499
* gcc.dg/vector-init-1.c: New testcase.
* gcc.dg/vector-init-2.c: New testcase.
2008-12-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Update to gcc-4_4-branch revision 155038.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cell-4_4-branch@155055 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Mon, 7 Dec 2009 15:26:13 +0000 (7 15:26 +0000)]
Initialized merge tracking via "svnmerge" with revisions "1-154992" from
svn://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cell-4_4-branch@155040 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Sat, 5 Dec 2009 00:11:29 +0000 (5 00:11 +0000)]
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-12-03 Ken Werner <ken.werner@de.ibm.com>
* config/spu/spu-elf.h (STARTFILE_SPEC): Add support for gprof
startup files.
* config/spu/spu-protos.h (spu_function_profiler): Add prototype.
* config/spu/spu.c (spu_function_profiler): New function.
* config/spu/spu.h (FUNCTION_PROFILER): Invoke
spu_function_profiler.
(NO_PROFILE_COUNTERS): Define.
(PROFILE_BEFORE_PROLOGUE): Likewise.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
PR middle-end/42224
* tree.h (int_or_pointer_precision): Remove.
* tree.c (int_or_pointer_precision): Remove.
(integer_pow2p): Use TYPE_PRECISION instead.
(tree_log2): Likewise.
(tree_floor_log2): Likewise.
(signed_or_unsigned_type_for): Likewise.
* fold-const.c (fit_double_type): Likewise.
* varasm.c (initializer_constant_valid_p): Likewise.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-11-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
PR tree-optimization/41857
* tree-ssa-address.c (move_hint_to_base): Use void pointer to
TYPE's address space instead of pointer to TYPE.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-11-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* reload.c (find_reloads_address): Fix typo.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-11-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
PR tree-optimization/41857
* tree-flow.h (rewrite_use_address): Add BASE_HINT argument.
* tree-ssa-loop-ivopts.c (rewrite_use_address): Pass base hint
to create_mem_ref.
* tree-ssa-address.c (move_hint_to_base): New function.
(most_expensive_mult_to_index): Add TYPE argument. Use mode and
address space associated with TYPE.
(addr_to_parts): Add TYPE and BASE_HINT arguments. Pass TYPE to
most_expensive_mult_to_index. Call move_hint_to_base.
(create_mem_ref): Add BASE_HINT argument. Pass BASE_HINT and
TYPE to addr_to_parts.
gcc/testsuite/
2009-11-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
PR tree-optimization/41857
* gcc.target/spu/ea/pr41857.c: New file.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/testsuite/
2009-10-26 Ben Elliston <bje@au.ibm.com>
Michael Meissner <meissner@linux.vnet.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* gcc.target/spu/ea/ea.exp: New file.
* gcc.target/spu/ea/cache1.c: Likewise.
* gcc.target/spu/ea/cast1.c: Likewise.
* gcc.target/spu/ea/cast2.c: Likewise.
* gcc.target/spu/ea/compile1.c: Likewise.
* gcc.target/spu/ea/compile2.c: Likewise.
* gcc.target/spu/ea/cppdefine.c: Likewise.
* gcc.target/spu/ea/errors1.c: Likewise.
* gcc.target/spu/ea/errors2.c: Likewise.
* gcc.target/spu/ea/execute1.c: Likewise.
* gcc.target/spu/ea/execute2.c: Likewise.
* gcc.target/spu/ea/execute3.c: Likewise.
* gcc.target/spu/ea/ops1.c: Likewise.
* gcc.target/spu/ea/ops2.c: Likewise.
* gcc.target/spu/ea/options1.c: Likewise.
* gcc.target/spu/ea/test-sizes.c: Likewise.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-10-26 Ben Elliston <bje@au.ibm.com>
Michael Meissner <meissner@linux.vnet.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* config.gcc (spu-*-elf*): Add spu_cache.h to extra_headers.
* config/spu/spu_cache.h: New file.
* config/spu/cachemgr.c: New file.
* config/spu/cache.S: New file.
* config/spu/spu.h (ASM_OUTPUT_SYMBOL_REF): Define.
(ADDR_SPACE_EA): Define.
(TARGET_ADDR_SPACE_KEYWORDS): Define.
* config/spu/spu.c (EAmode): New macro.
(TARGET_ADDR_SPACE_POINTER_MODE): Define.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Likewise.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
(TARGET_ADDR_SPACE_CONVERT): Likewise.
(TARGET_ASM_SELECT_SECTION): Likewise.
(TARGET_ASM_UNIQUE_SECTION): Likewise.
(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
(TARGET_ASM_ALIGNED_DI_OP): Likewise.
(ea_symbol_ref): New function.
(spu_legitimate_constant_p): Handle __ea qualified addresses.
(spu_legitimate_address): Likewise.
(spu_addr_space_legitimate_address_p): New function.
(spu_addr_space_legitimize_address): Likewise.
(cache_fetch): New global.
(cache_fetch_dirty): Likewise.
(ea_alias_set): Likewise.
(ea_load_store): New function.
(ea_load_store_inline): Likewise.
(expand_ea_mem): Likewise.
(spu_expand_mov): Handle __ea qualified memory references.
(spu_addr_space_pointer_mode): New function.
(spu_addr_space_address_mode): Likewise.
(spu_addr_space_subset_p): Likewise.
(spu_addr_space_convert): Likewise.
(spu_section_type_flags): Handle "._ea" section.
(spu_select_section): New function.
(spu_unique_section): Likewise.
* config/spu/spu-c.c (spu_cpu_cpp_builtins): Support __EA32__
and __EA64__ predefined macros.
* config/spu/spu-elf.h (LIB_SPEC): Handle -mcache-size= and
-matomic-updates switches.
* config/spu/t-spu-elf (MULTILIB_OPTIONS): Define.
(EXTRA_MULTILIB_PARTS): Add libgcc_cachemgr.a,
libgcc_cachemgr_nonatomic.a, libgcc_cache8k.a, libgcc_cache16k.a,
libgcc_cache32k.a, libgcc_cache64k.a, libgcc_cache128k.a.
($(T)cachemgr.o, $(T)cachemgr_nonatomic.o): New target.
($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache64k.o,
$(T)cache128k.o): Likewise.
($(T)libgcc_%.a): Likewise.
* config/spu/spu.h (TARGET_DEFAULT): Add MASK_ADDRESS_SPACE_CONVERSION.
* config/spu/spu.opt (-mea32/-mea64): Add switches.
(-maddress-space-conversion): Likewise.
(-mcache-size=): Likewise.
(-matomic-updates): Likewise.
* doc/invoke.texi (-mea32/-mea64): Document.
(-maddress-space-conversion): Likewise.
(-mcache-size=): Likewise.
(-matomic-updates): Likewise.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-10-26 Ben Elliston <bje@au.ibm.com>
Michael Meissner <meissner@linux.vnet.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* doc/tm.texi (TARGET_ADDR_SPACE_KEYWORDS): Document.
* c-common.c (c_common_reswords): If TARGET_ADDR_SPACE_KEYWORDS is
defined, add the named address space keywords.
(c_addr_space_name): New function.
(complete_array_type): Preserve named address space.
(handle_mode_attribute): Use targetm.addr_space.valid_pointer_mode
instead of targetm.valid_pointer_mode.
* c-common.h (enum rid): Add RID_ADDR_SPACE_0 .. RID_ADDR_SPACE_15,
RID_FIRST_ADDR_SPACE and RID_LAST_ADDR_SPACE.
(ADDR_SPACE_KEYWORD): New macro.
(c_addr_space_name): Add prototype.
* c-tree.h (struct c_declspecs): Add address_space member.
(declspecs_add_addrspace): Add prototype.
* c-pretty-print.c (pp_c_type_qualifier_list): Handle address spaces.
* c-parser.c (c_parse_init): Add assertion.
(typedef enum c_id_kind): Add C_ID_ADDRSPACE.
(c_lex_one_token): Handle address space keywords.
(c_token_starts_typename): Likewise.
(c_token_starts_declspecs): Likewise.
(c_parser_declspecs): Likewise.
(c_parser_postfix_expression_after_paren_type): Diagnose compound
literal within function qualified with named address space.
* c-decl.c (diagnose_mismatched_decls): Diagnose conflicting named
address space qualifiers.
(shadow_tag_warned): Warn about useless address space qualifiers.
(quals_from_declspecs): Handle address space qualifiers.
(grokdeclarator): Likewise.
(build_null_declspecs): Likewise.
(declspecs_add_addrspace): New function.
* c-typeck.c (addr_space_superset): New function.
(qualify_type): Handle named address spaces.
(composite_type): Likewise.
(common_pointer_type): Likewise.
(comp_target_types): Likewise.
(build_conditional_expr): Likewise.
(build_c_cast): Likewise.
(convert_for_assignment): Likewise.
(build_binary_op): Likewise.
(pointer_diff): Handle named address spaces. Use intermediate
integer type of sufficient size if required.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-10-26 Ben Elliston <bje@au.ibm.com>
Michael Meissner <meissner@linux.vnet.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* doc/tm.texi (TARGET_ADDR_SPACE_POINTER_MODE): Document.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.
* target.h (struct target_def): Add pointer_mode, address_mode,
and valid_pointer_mode to addr_space substructure.
* target-def.h (TARGET_ADDR_SPACE_POINTER_MODE): Define.
(TARGET_ADDR_SPACE_ADDRESS_MODE): Likewise.
(TARGET_ADDR_SPACE_VALID_POINTER_MODE): Likewise.
(TARGET_ADDR_SPACE_HOOKS): Add them.
* targhooks.c (target_default_pointer_address_modes_p): New function.
* target.h (target_default_pointer_address_modes_p): Add prototype.
* targhooks.c (default_addr_space_pointer_mode): New function.
(default_addr_space_address_mode): Likewise.
(default_addr_space_valid_pointer_mode): Likewise.
* targhooks.h (default_addr_space_pointer_mode): Add prototype.
(default_addr_space_address_mode): Likewise.
(default_addr_space_valid_pointer_mode): Likewise.
* output.h (default_valid_pointer_mode): Move to ...
* targhooks.h (default_valid_pointer_mode): ... here.
* varasm.c (default_valid_pointer_mode): Move to ...
* targhooks.c (default_valid_pointer_mode): ... here.
* varasm.c (output_constant): Use targetm.addr_space.valid_pointer_mode
instead of targetm.valid_pointer_mode.
* fold-const.c (fit_double_type): Use int_or_pointer_precision.
* tree.c (integer_pow2p): Likewise.
(tree_log2): Likewise.
(tree_floor_log2): Likewise.
(signed_or_unsigned_type_for): Support pointer type of different size.
(int_or_pointer_precision): New function.
* tree.h (int_or_pointer_precision): Add prototype.
* stor-layout.c (layout_type): Set TYPE_PRECISION for offset types.
* varasm.c (initializer_constant_valid_p): Use TYPE_PRECISION of
incoming pointer type instead of POINTER_SIZE.
* tree.c (build_pointer_type): Use appropriate pointer mode
instead of ptr_mode.
(build_reference_type): Likewise.
* expr.c (store_expr): Likewise.
(expand_expr_addr_expr): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* auto-inc-dec.c: Include "target.h".
(try_merge): Use appropriate address mode instead of Pmode.
(find_inc): Likewise.
* combine.c (find_split_point): Likewise.
* cselib.c (cselib_record_sets): Likewise.
* dse.c (replace_inc_dec): Likewise.
(canon_address): Likewise.
(count_uses): Likewise.
(add_uses): Likewise.
(add_stores): Likewise.
* emit-rtl.c: Include "target.h".
(adjust_address_1): Use appropriate address mode instead of Pmode.
(offset_address): Likewise.
* explow.c (break_out_memory_refs): Likewise.
(memory_address_addr_space): Likewise.
(promote_mode): Likewise.
* expr.c (move_by_pieces): Likewise.
(emit_block_move_via_loop): Likewise.
(store_by_pieces): Likewise.
(store_by_pieces_1): Likewise.
(expand_assignment): Likewise.
(store_constructor): Likewise.
(expand_expr_addr_expr): Likewise.
(expand_expr_real_1): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* regrename.c (kill_autoinc_value): Likewise.
* regmove.c (try_auto_increment): Likewise.
* reload.c (find_reloads): Likewise.
(find_reloads_address): Likewise.
(find_reloads_address_1): Likewise.
* sched-deps.c: Include "target.h".
(sched_analyze_1): Use appropriate address mode instead of Pmode.
(sched_analyze_2): Likewise.
* sel-sched-dump.c: Include "target.h".
(debug_mem_addr_value): Use appropriate address mode instead of Pmode.
* stor-layout.c (layout_type): Likewise.
* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
(multiplier_allowed_in_address_p): Likewise.
(get_address_cost): Likewise.
* varasm.c (make_decl_rtl): Likewise.
* expr.c (expand_assignment): Always convert offsets to appropriate
address mode.
(store_expr): Likewise.
(store_constructor): Likewise.
(expand_expr_real_1): Likewise.
* reload.h (form_sum): Add MODE argument.
* reload.c (form_sum): Add MODE argument, use it instead of Pmode.
Update recursive calls.
(subst_indexed_address): Update calls to form_sum.
* tree-flow.h (addr_for_mem_ref): Add ADDRSPACE argument.
* tree-ssa-address.c: Include "target.h".
(templates): Replace by ...
(mem_addr_template_list): ... this new vector.
(TEMPL_IDX): Handle address space numbers.
(gen_addr_rtx): Add address mode argument, use it instead of Pmode.
(addr_for_mem_ref): Add ADDRSPACE argument. Use per-address-space
instead of global cache. Update call to gen_addr_rtx.
(valid_mem_ref_p): Update call to addr_for_mem_ref.
* expr.c (expand_expr_real_1): Update call to addr_for_mem_ref.
* rtl.h (convert_memory_address_addr_space): Add prototype.
(convert_memory_address): Define as macro.
* explow.c (convert_memory_address): Rename to ...
(convert_memory_address_addr_space): ... this. Add ADDRSPACE argument.
Use appropriate pointer and address modes instead of ptr_mode / Pmode.
Update recursive calls.
(memory_address_addr_space): Call convert_memory_address_addr_space.
* expmed.c (make_tree): Likewise.
* expr.c (expand_assignment): Likewise.
(expand_expr_addr_expr_1): Likewise. Also, add ADDRSPACE argument.
(expand_expr_addr_expr): Likewise. Also, update call.
* alias.c (find_base_value): Guard pointer size optimizations.
(find_base_term): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
(num_sign_bit_copies1): Likewise.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
* Makefile.in (tree-ssa-address.o): Add $(TARGET_H) dependency.
(emit-rtl.o): Likewise.
(auto-inc-dec.o): Likewise.
(sched-deps.o): Likewise.
2009-08-24 Olivier Hainque <hainque@adacore.com>
* convert.c (convert_to_integer): Don't assume an input pointer is
POINTER_SIZE wide. Fetch from the type instead.
2009-07-27 Olivier Hainque <hainque@adacore.com>
Douglas B Rupp <rupp@gnat.com>
* convert.c (convert_to_pointer): Don't assume the target
pointer type is POINTER_SIZE long. Fetch its precision instead.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-10-26 Ben Elliston <bje@au.ibm.com>
Michael Meissner <meissner@linux.vnet.ibm.com>
Ulrich Weigand <uweigand@de.ibm.com>
* doc/extend.texi (Named Address Spaces): New section.
* coretypes.h (addr_space_t): New type.
(ADDR_SPACE_GENERIC): New define.
(ADDR_SPACE_GENERIC_P): New macro.
* doc/tm.texi (Named Address Spaces): New section.
(TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Document.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Document.
(TARGET_ADDR_SPACE_SUBSET_P): Document.
(TARGET_ADDR_SPACE_CONVERT): Document.
* target.h (struct gcc_target): Add addr_space substructure.
* target-def.h (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
(TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Likewise.
(TARGET_ADDR_SPACE_SUBSET_P): Likewise.
(TARGET_ADDR_SPACE_CONVERT): Likewise.
(TARGET_ADDR_SPACE_HOOKS): Likewise.
(TARGET_INITIALIZER): Initialize addr_space hooks.
* targhooks.c (default_addr_space_legitimate_address_p): New function.
(default_addr_space_legitimize_address): Likewise.
(default_addr_space_subset_p): Likewise.
(default_addr_space_convert): Likewise.
* targhooks.h (default_addr_space_legitimate_address_p): Add prototype.
(default_addr_space_legitimize_address): Likewise.
(default_addr_space_subset_p): Likewise.
(default_addr_space_convert): Likewise.
* doc/rtl.texi (MEM_ADDR_SPACE): Document.
* rtl.h (mem_attrs): Add ADDRSPACE memory attribute.
(MEM_ADDR_SPACE): New macro.
* emit-rtl.c (get_mem_attrs): Add ADDRSPACE argument and set
address space memory attribute.
(mem_attrs_htab_hash): Handle address space memory attribute.
(mem_attrs_htab_eq): Likewise.
(set_mem_attributes_minus_bitpos): Likewise.
(set_mem_attrs_from_reg): Likewise.
(set_mem_alias_set): Likewise.
(set_mem_align): Likewise.
(set_mem_expr): Likewise.
(set_mem_offset): Likewise.
(set_mem_size): Likewise.
(adjust_address_1): Likewise.
(offset_address): Likewise.
(widen_memoy_address): Likewise.
(get_spill_slot_decl): Likewise.
(set_mem_attrs_for_spill): Likewise.
(set_mem_addr_space): New function.
* emit-rtl.h (set_mem_addr_space): Add prototype.
* print-rtl.c (print_rtx): Print address space memory attribute.
* expr.c (expand_expr_real_1): Set address space memory attribute
of generated MEM RTXes as appropriate.
* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
* tree.h (struct tree_base): Add address_space bitfield. Reduce
size of "spare" bitfield.
(TYPE_ADDR_SPACE): New macro.
(ENCODE_QUAL_ADDR_SPACE): Likewise.
(DECODE_QUAL_ADDR_SPACE): Likewise.
(CLEAR_QUAL_ADDR_SPACE): Likewise.
(KEEP_QUAL_ADDR_SPACE): Likewise.
(TYPE_QUALS): Encode type address space.
(TYPE_QUALS_NO_ADDR_SPACE): New macro.
* tree.c (set_type_quals): Set type address space.
(build_array_type): Inherit array address space from element type.
* print-tree.c (print_node_brief): Print type address space.
(print_node): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* explow.c (memory_address): Rename to ...
(memory_address_addr_space): ... this. Add ADDRSPACE argument.
Use address-space aware variants of memory address routines.
* recog.c (memory_address_p): Rename to ...
(memory_address_addr_space_p): ... this. Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
(offsettable_address_p): Rename to ...
(offsettable_address_addr_space_p): ... this. Add ADDRSPACE argument.
Use address-space aware variants of memory address routines.
* reload.c (strict_memory_address_p): Rename to ...
(strict_memory_address_addr_space_p): ... this. Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
(maybe_memory_address_p): Rename to ...
(maybe_memory_address_addr_space_p): ... this. Add ADDSPACE argument.
Use address-space aware variants of memory address routines.
* expr.h (memory_address_addr_space): Add prototype.
(memory_address): Define as macro.
* recog.h (memory_address_addr_space_p): Add prototype.
(memory_address_p): Define as macro.
(offsettable_address_addr_space_p): Add prototype.
(offsettable_address_p): Define as macro.
(strict_memory_address_addr_space_p): Add prototype.
(strict_memory_address_p): Define as macro.
* combine.c (find_split_point): Use address-space aware variants
of memory address routines.
* emit-rtl.c (operand_subword): Likewise.
(change_address_1): Likewise.
(adjust_address_1): Likewise.
(offset_address): Likewise.
* expr.c (emit_move_insn): Likewise.
(expand_expr_real_1): Likewise.
* recog.c (verify_changes): Likewise.
(general_operand): Likewise.
(offsettable_memref_p): Likewise.
(offsettable_nonstrict_memref_p): Likewise.
(constrain_operands): Likewise.
* reload.c (get_secondary_mem): Likewise.
(find_reloads_toplev): Likewise.
(find_reloads_address): Likewise.
(find_reloads_subreg_address): Likewise.
* reload1.c (reload): Likewise.
* rtlhooks.c (gen_lowpart_if_possible): Likewise.
* rtl.h (address_cost): Add ADDRSPACE argument.
* rtlanal.c (address_cost): Add ADDRSPACE argument. Use address-space
aware variant of memory address routines.
* tree-ssa-loop-ivopts.c (computation_cost): Update address_cost call.
* fwprop.c (should_replace_address): Add ADDRSPACE argument.
Use address-space aware variant of memory address routines.
(propagate_rtx_1): Update call to should_replace_address.
* tree-flow.h (multiplier_allowed_in_address_p): Add ADDRSPACE
argument.
* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): Add
ADDRSPACE argument. Use per-address-space instead of global cache.
Use address-space aware variant of memory address routines.
(get_address_cost): Likewise.
(get_computation_cost_at): Update calls.
* tree-ssa-address.c (valid_mem_ref_p): Add ADDRSPACE argument.
Use address-space aware variant of memory address routines.
(create_mem_ref_raw): Update call to valid_mem_ref_p.
(most_expensive_mult_to_index): Update call to
multiplier_allowed_in_address_p.
* dwarf2out.c (modified_type_die): Output DW_AT_address_class
attribute to indicate named address spaces.
* varasm.c (get_variable_section): DECLs in named address spaces
cannot be "common".
* reload.c (find_reloads_address): Do not use LEGITIMIZE_RELOAD_ADDRESS
for addresses in a non-generic address space.
* expr.c (emit_block_move_hints): Do not use libcalls for
memory in non-generic address spaces.
(clear_storage_hints): Likewise.
(expand_assignment): Likewise.
* fold-const.c (operand_equal_p): Expressions refering to different
address spaces are not equivalent.
* rtl.c (rtx_equal_p_cb): MEMs refering to different address
spaces are not equivalent.
(rtx_equal_p): Likewise.
* cse.c (exp_equiv_p): Likewise.
* jump.c (rtx_renumbered_equal_p): Likewise.
* reload.c (operands_match_p): Likewise.
* alias.c (nonoverlapping_memrefs_p): MEMs refering to different
address spaces may alias.
(true_dependence): Likewise.
(canon_true_dependence): Likewise.
(write_dependence_p): Likewise.
* dse.c (canon_address): Handle named address spaces.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* tree.def (ADDR_SPACE_CONVERT_EXPR): New tree code.
* expr.c (expand_expr_real_1): Expand ADDR_SPACE_CONVERT_EXPR.
* convert.c (convert_to_pointer): Generate ADDR_SPACE_CONVERT_EXPR
to handle conversions between different address spaces.
* fold-const.c (fold_convert_loc): Likewise.
(fold_unary_loc): Handle ADDR_SPACE_CONVERT_EXPR.
* tree-pretty-print.c (dump_generic_node): Likewise.
* gimple-pretty-print.c (dump_unary_rhs): Likewise.
* tree-cfg.c (verify_gimple_assign_unary): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-ssa.c (useless_type_conversion_p): Conversions between pointers
to different address spaces are not useless.
(useless_type_conversion_p_1): Likewise.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
gcc/
2009-08-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* c-lex.c (c_lex_with_flags): Increase size of local variable
to avoid memory clobber.
2008-12-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
libgfortran/
2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* configure.ac: Test for -ffunction-sections -fdata-sections and
set SECTION_FLAGS accordingly.
* configure: Regenerate.
* Makefile.am: Add SECTION_FLAGS to AM_CFLAGS.
* Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cell-4_4-branch@155003 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Fri, 4 Dec 2009 20:21:13 +0000 (4 20:21 +0000)]
Create cell-4_4-branch as copy of gcc-4_4-branch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/cell-4_4-branch@154993 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Fri, 4 Dec 2009 19:52:42 +0000 (4 19:52 +0000)]
gcc/
Backport from mainline:
2009-05-22 Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>
* config/spu/spu-protos.h (aligned_mem_p, spu_valid_mov): Remove.
(spu_split_load, spu_split_store): Change return type to int.
(spu_split_convert): Declare.
* config/spu/predicates.md (spu_mem_operand): Remove.
(spu_mov_operand): Update.
(spu_dest_operand, shiftrt_operator, extend_operator): Define.
* config/spu/spu.c (regno_aligned_for_load): Remove.
(reg_aligned_for_addr, spu_expand_load): Define.
(spu_expand_extv): Reimplement and handle MEM.
(spu_expand_insv): Handle MEM.
(spu_sched_reorder): Handle insn's with length 0.
(spu_legitimate_address): Reimplement.
(store_with_one_insn_p): Return TRUE for any mode with size
larger than 16 bytes.
(address_needs_split): Define.
(spu_expand_mov): Call spu_split_load and spu_split_store for MEM
operands.
(spu_convert_move): Define.
(spu_split_load): Use spu_expand_load and change all MEM's to
TImode.
(spu_split_store): Change all MEM's to TImode.
(spu_init_expanders): Preallocate registers that correspond to
LAST_VIRTUAL_REG+1 and LAST_VIRTUAL_REG+2 and set them with
mark_reg_pointer.
(spu_split_convert): Define.
* config/spu/spu.md (QHSI, QHSDI): New mode iterators.
(_move<mode>, _movdi, _movti): Update predicate and condition.
(load, store): Change to define_split.
(extendqiti2, extendhiti2, extendsiti2, extendditi2): Simplify to
extend<mode>ti2.
(zero_extendqiti2, zero_extendhiti2, <v>lshr<mode>3_imm): Define.
(lshr<mode>3, lshr<mode>3_imm, lshr<mode>3_re): Simplify to one
define_insn_and_split of lshr<mode>3.
(shrqbybi_<mode>, shrqby_<mode>): Simplify to define_expand.
(<v>ashr<mode>3_imm): Define.
(extv, extzv, insv): Allow MEM operands.
(trunc_shr_ti<mode>, trunc_shr_tidi, shl_ext_<mode>ti,
shl_ext_diti, sext_trunc_lshr_tiqisi, zext_trunc_lshr_tiqisi,
sext_trunc_lshr_tihisi, zext_trunc_lshr_tihisi): Define for combine.
(_spu_convert2): Change to define_insn_and_split and remove the
corresponding define_peephole2.
(stack_protect_set, stack_protect_test, stack_protect_test_si):
Change predicates to memory_operand.
2009-04-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
* spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
instruction is correct.
2009-04-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
Allow non-constant arguments to conversion intrinsics.
* spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare.
* predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New.
* spu.c (print_operand): Handle 'v' and 'w'.
(exp2_immediate_p, spu_gen_exp2): Define.
* spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
spu_convtf_1): Update parameter descriptions.
* spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu):
Update.
* constraints.md ('v', 'w'): New.
* spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU):
Remove.
(i2f, I2F): New define_mode_attr.
(floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2,
floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2,
fixuns_truncv4sfv4si2): Update to use mode attribute.
(float<mode><i2f>2_mul, float<mode><i2f>2_div,
fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul,
floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New
patterns for combine.
gcc/testsuite/
Backport from mainline:
2009-04-27 Trevor Smigiel <trevor_smigiel@playstation.sony.com>
Allow non-constant arguments to conversion intrinsics.
* gcc.target/spu/intrinsics-3.c: Update tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154991 138bc75d-0d04-0410-961f-82ee72b054a4
paolo [Fri, 4 Dec 2009 09:20:58 +0000 (4 09:20 +0000)]
2009-12-04 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/42261
* include/bits/basic_string.h (_S_construct_aux(_Integer, _Integer,
const _Alloc&, __true_type)): Cast the second argument to value_type.
* include/ext/sso_string_base.h (_M_construct_aux(_Integer, _Integer,
std::__true_type)): Likewise.
* include/ext/rc_string_base.h (_S_construct_aux(_Integer, _Integer,
const _Alloc&, std::__true_type)): Likewise.
* testsuite/21_strings/basic_string/cons/char/42261.cc: New.
* testsuite/21_strings/basic_string/cons/wchar_t/42261.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154975 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Fri, 4 Dec 2009 00:16:37 +0000 (4 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154962 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Thu, 3 Dec 2009 23:25:50 +0000 (3 23:25 +0000)]
* acinclude.m4: Regenerated to pick:
2007-06-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]:
Ignore lines in ld.so.conf starting with 'hwcap '.
* configure: Regenerated.
2009-11-24 Peter O'Gorman <peter@pogma.com>
Backport of libltdl changes from the 2.26b release.
* ltdl.c: Backport changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154959 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Thu, 3 Dec 2009 15:33:18 +0000 (3 15:33 +0000)]
PR middle-end/42049
* builtins.c (expand_builtin_strcpy_args): Handle COMPOUND_EXPRs
potentially returned from folding strcpy.
* gcc.c-torture/compile/pr42049.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154951 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Thu, 3 Dec 2009 00:16:26 +0000 (3 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154930 138bc75d-0d04-0410-961f-82ee72b054a4
chaoyingfu [Wed, 2 Dec 2009 23:32:22 +0000 (2 23:32 +0000)]
2009-12-02 Chao-ying Fu <fu@mips.com>
Backport from mainline
2009-11-30 Chao-ying Fu <fu@mips.com>
* gcc.target/mips/dsp-lhx.c: New test.
* gcc.target/mips/dsp-no-lhx.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154928 138bc75d-0d04-0410-961f-82ee72b054a4
chaoyingfu [Wed, 2 Dec 2009 23:26:42 +0000 (2 23:26 +0000)]
2009-12-02 Chao-ying Fu <fu@mips.com>
Backport from mainline
2009-11-30 Chao-ying Fu <fu@mips.com>
* config/mips/mips-dsp.md (mips_lhx_<mode>): Use sign_extend.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154927 138bc75d-0d04-0410-961f-82ee72b054a4
rearnsha [Wed, 2 Dec 2009 11:30:38 +0000 (2 11:30 +0000)]
* arm/thumb2.md (thumb_andsi_not_shiftsi_si): Final condition should
be TARGET_THUMB2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154906 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Wed, 2 Dec 2009 00:16:30 +0000 (2 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154888 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Tue, 1 Dec 2009 19:44:34 +0000 (1 19:44 +0000)]
PR c++/42234
* tree-cfgcleanup.c (cleanup_omp_return): Don't ICE if control_bb
contains no statements.
* g++.dg/gomp/pr42234.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154879 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Tue, 1 Dec 2009 04:40:14 +0000 (1 04:40 +0000)]
2009-11-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41278
* gfortran.dg/array_function_5.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154864 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Tue, 1 Dec 2009 04:36:30 +0000 (1 04:36 +0000)]
2009-11-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41278
Backport from mainline.
* trans-array.c (gfc_conv_array_transpose): Delete unnecessary assert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154863 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Tue, 1 Dec 2009 00:16:33 +0000 (1 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154858 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Mon, 30 Nov 2009 00:16:45 +0000 (30 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154745 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sun, 29 Nov 2009 00:16:40 +0000 (29 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154733 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sat, 28 Nov 2009 00:16:35 +0000 (28 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154717 138bc75d-0d04-0410-961f-82ee72b054a4
krebbel [Fri, 27 Nov 2009 13:13:59 +0000 (27 13:13 +0000)]
2009-11-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (last_scheduled_insn): New variable.
(s390_fpload_toreg, s390_z10_prevent_earlyload_conflicts): New
functions.
(s390_sched_reorder, s390_sched_variable_issue): New functions.
(TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_REORDER): Target hooks
defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154706 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Fri, 27 Nov 2009 11:34:32 +0000 (27 11:34 +0000)]
* opts.c (decode_options): If optimize is bigger than 255,
set it to 255.
* gcc.dg/O16384.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154700 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Fri, 27 Nov 2009 00:16:38 +0000 (27 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154696 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Thu, 26 Nov 2009 22:18:36 +0000 (26 22:18 +0000)]
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41807
* gfortran.dg/data_value_1.f90: Update test.
* gfortran.dg/array_constructor_32.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154692 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Thu, 26 Nov 2009 21:57:32 +0000 (26 21:57 +0000)]
2009-11-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41807
Backport from mainline.
* trans-const.c (gfc_conv_const): Fix typo in comment. Replace assert
with error message if not constant. Set se->expr to a constant on error.
* resolve.c (next_data_value): Delete check for constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154691 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Thu, 26 Nov 2009 00:16:42 +0000 (26 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154663 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Wed, 25 Nov 2009 21:01:47 +0000 (25 21:01 +0000)]
PR fortran/42162
* trans-openmp.c (gfc_trans_omp_do): When dovar isn't a VAR_DECL,
don't use simple loop and handle clauses properly.
* testsuite/libgomp.fortran/pr42162.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154656 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Wed, 25 Nov 2009 20:54:12 +0000 (25 20:54 +0000)]
PR target/42165
* config/i386/i386.c (print_operand): For 32-byte memory use
YMMWORD in -masm=intel mode. Use TBYTE instead of XWORD.
* config/i386/i386.md (crc32modesuffix): Expand to nothing
in -masm=intel mode.
(sse4_2_crc32di): Print just crc32 instead of crc32q in
-masm=intel mode.
* config/i386/mmx.md (*mmx_pinsrw): Print correct size of
memory operand in -masm=intel mode.
* config/i386/sse.md (*avx_pinsr<ssevecsize>, *sse4_1_pinsrb,
*sse2_pinsrw): Likewise.
(sse_cvtss2siq, sse_cvtss2siq_2, sse_cvttss2siq): Don't print
q suffix in -masm=intel mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154655 138bc75d-0d04-0410-961f-82ee72b054a4
danglin [Wed, 25 Nov 2009 00:35:16 +0000 (25 00:35 +0000)]
* pa.c (output_call): Only use sr4 for long interspace calls if
call binds local and generating non PIC code.
(attr_length_call): Adjust length calculation for above.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154528 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Wed, 25 Nov 2009 00:16:33 +0000 (25 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154525 138bc75d-0d04-0410-961f-82ee72b054a4
krebbel [Tue, 24 Nov 2009 08:10:27 +0000 (24 08:10 +0000)]
2009-11-24 Wolfgang Gellerich <gellerich@de.ibm.com>
* config/s390/s390.md: Added agen condition to operand
forwarding bypasses.
Added bypass for early address generation use of int results.
Updated comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154490 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Tue, 24 Nov 2009 00:16:38 +0000 (24 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154484 138bc75d-0d04-0410-961f-82ee72b054a4
uros [Mon, 23 Nov 2009 21:14:32 +0000 (23 21:14 +0000)]
PR target/42113
* config/alpha/alpha.md (*cmp_sadd_si): Change mode
of scratch register to SImode.
(*cmp_sadd_sidi): Ditto.
(*cmp_ssub_si): Ditto.
(*cmp_ssub_sidi): Ditto.
testsuite/ChangeLog:
PR target/42113
* gcc.target/alpha/pr42113.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154464 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Mon, 23 Nov 2009 00:16:36 +0000 (23 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154429 138bc75d-0d04-0410-961f-82ee72b054a4
bje [Sun, 22 Nov 2009 23:09:41 +0000 (22 23:09 +0000)]
* config.sub, config.guess: Update from upstream sources.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154426 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sun, 22 Nov 2009 00:16:33 +0000 (22 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154416 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sat, 21 Nov 2009 00:16:39 +0000 (21 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154390 138bc75d-0d04-0410-961f-82ee72b054a4
hjl [Fri, 20 Nov 2009 18:53:27 +0000 (20 18:53 +0000)]
2009-11-20 H.J. Lu <hongjiu.lu@intel.com>
* c-c++-common/pr41935.c: Removed.
* g++.dg/template/crash92.C: Likewise.
* gfortran.dg/missing_optional_dummy_6.f90: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154376 138bc75d-0d04-0410-961f-82ee72b054a4
hjl [Fri, 20 Nov 2009 14:52:09 +0000 (20 14:52 +0000)]
Remove testsuite/ from pathname.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154367 138bc75d-0d04-0410-961f-82ee72b054a4
hjl [Fri, 20 Nov 2009 14:49:22 +0000 (20 14:49 +0000)]
2009-11-20 H.J. Lu <hongjiu.lu@intel.com>
Backport from mainline:
2009-11-18 Alexandre Oliva <aoliva@redhat.com>
PR debug/41926
* gcc.dg/vect/vect-debug-pr41926.c: New.
2009-11-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/42055
* g++.dg/template/crash92.C: New.
2009-11-08 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/41928
* gfortran.dg/pr41928.f90: New testcase.
2009-11-06 Jakub Jelinek <jakub@redhat.com>
PR middle-end/41935
* gcc.dg/pr41935.c: New test.
* c-c++-common/pr41935.c: New test.
* gcc.c-torture/execute/pr41935.c: New test.
2009-11-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41919
* gcc.c-torture/execute/pr41919.c: New testcase.
2009-11-03 Tobias Burnus <burnus@net-b.de>
PR fortran/41907
* gfortran.dg/missing_optional_dummy_6.f90: New test.
2009-11-02 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/41750
* gcc.c-torture/execute/pr41750.c: New test.
2009-11-02 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/41841
* gcc.dg/pr41841.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154366 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Fri, 20 Nov 2009 04:02:33 +0000 (20 04:02 +0000)]
2009-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/42090
* gfortran.dg/direct_io_11.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154356 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Fri, 20 Nov 2009 04:00:03 +0000 (20 04:00 +0000)]
2009-11-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/42090
Backport from trunk.
* io/transfer.c (skip_record): Set bytes_left_subrecord to zero after
skipping the remaining bytes in the record.
(next_record_r): Call skip_record with the number of bytes_left to be
skipped.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154355 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Fri, 20 Nov 2009 00:16:54 +0000 (20 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154352 138bc75d-0d04-0410-961f-82ee72b054a4
singler [Thu, 19 Nov 2009 16:44:33 +0000 (19 16:44 +0000)]
2009-11-19 Johannes Singler <singler@kit.edu>
* include/parallel/partition.h (__parallel_partition): Correctly
initialize chunk size.
(__parallel_nth_element): Respect nth_element_minimal_n. Use
sequential nth_element as base case, instead of sequential sort.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154334 138bc75d-0d04-0410-961f-82ee72b054a4
doko [Thu, 19 Nov 2009 00:33:32 +0000 (19 00:33 +0000)]
2009-11-18 Matthias Klose <doko@ubuntu.com>
* config.gcc: Update ARM --with-fpu option list.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154312 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Thu, 19 Nov 2009 00:16:52 +0000 (19 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154310 138bc75d-0d04-0410-961f-82ee72b054a4
aph [Wed, 18 Nov 2009 14:10:07 +0000 (18 14:10 +0000)]
2009-11-17 Andrew Haley <aph@redhat.com>
* posix-threads.cc (park): Rewrite code to handle time.
Move mutex lock before the call to compare_and_swap to avoid a
race condition.
Add some assertions.
(unpark): Add an assertion.
(init): Move here from posix-threads.h.
* include/posix-threads.h (destroy): removed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154294 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Wed, 18 Nov 2009 00:17:01 +0000 (18 00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154275 138bc75d-0d04-0410-961f-82ee72b054a4
uweigand [Tue, 17 Nov 2009 13:31:11 +0000 (17 13:31 +0000)]
* config/spu/spu.c (get_pic_reg): Use LAST_ARG_REGNUM as PIC
registers in leaf functions if possible.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154247 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Tue, 17 Nov 2009 07:26:52 +0000 (17 07:26 +0000)]
PR c++/42061
* call.c (reference_binding): Return NULL for initializer list with
error operand inside of it.
* g++.dg/cpp0x/initlist27.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154240 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Tue, 17 Nov 2009 07:21:43 +0000 (17 07:21 +0000)]
PR c++/42059
* typeck.c (cp_build_modify_expr): For initializer list call
check_array_initializer to make sure lhs isn't a VLA.
* g++.dg/cpp0x/initlist26.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154239 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Tue, 17 Nov 2009 00:16:33 +0000 (17 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154231 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Mon, 16 Nov 2009 00:16:33 +0000 (16 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154194 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sun, 15 Nov 2009 00:16:35 +0000 (15 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154186 138bc75d-0d04-0410-961f-82ee72b054a4
uros [Sat, 14 Nov 2009 18:53:09 +0000 (14 18:53 +0000)]
* config/i386/predicates.md (call_register_no_elim_operand):
New predicate. Reject stack register as valid call operand
for 32bit targets.
(call_insn_operand): Use call_register_no_elim_operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154183 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sat, 14 Nov 2009 00:16:34 +0000 (14 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154176 138bc75d-0d04-0410-961f-82ee72b054a4
rth [Fri, 13 Nov 2009 19:57:51 +0000 (13 19:57 +0000)]
* function.c (stack_protect_prologue): Don't bypass expand_expr
for stack_protect_guard and guard_decl.
(stack_protect_epilogue): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154172 138bc75d-0d04-0410-961f-82ee72b054a4
uros [Fri, 13 Nov 2009 19:16:32 +0000 (13 19:16 +0000)]
* config/i386/i386.md: Add missing comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154170 138bc75d-0d04-0410-961f-82ee72b054a4
uros [Fri, 13 Nov 2009 19:13:16 +0000 (13 19:13 +0000)]
2009-11-13 Uros Bizjak <ubizjak@gmail.com>
PR target/41900
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1): Use "lsm"
as operand 1 constraint.
* config/i386/predicates.md (call_insn_operand): Depend on
index_register_operand to avoid %esp register.
2009-11-13 Uros Bizjak <ubizjak@gmail.com>
Revert:
2009-11-04 Uros Bizjak <ubizjak@gmail.com>
PR target/41900
* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
(TARGET_CALL_ESP): New define.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_ARCH_CALL_ESP.
* config/i386/i386.md (*call_pop_1_esp, *call_1_esp,
*call_value_pop_1_esp, *call_value_1_esp): Rename from *call_pop_1,
*call_1, *call_value_pop_1 and *call_value_1. Depend on
TARGET_CALL_ESP.
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
New patterns, use "lsm" as operand 1 constraint.
* config/i386/predicates.md (call_insn_operand): Depend on
index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154169 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Fri, 13 Nov 2009 18:42:32 +0000 (13 18:42 +0000)]
PR middle-end/42029
* gimplify.c (gimplify_omp_atomic): Set DECL_GIMPLE_REG_P on
tmp_load if needed.
* libgomp.c/pr42029.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154162 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Fri, 13 Nov 2009 18:03:31 +0000 (13 18:03 +0000)]
PR c++/21008, DR 515
* semantics.c (finish_non_static_data_member): Don't check
derivation in a template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154158 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Fri, 13 Nov 2009 00:16:29 +0000 (13 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154137 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Thu, 12 Nov 2009 23:21:55 +0000 (12 23:21 +0000)]
PR c++/37037
* decl.c (grokdeclarator): Don't generate a void PARM_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154134 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Thu, 12 Nov 2009 00:16:28 +0000 (12 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154110 138bc75d-0d04-0410-961f-82ee72b054a4
ktietz [Wed, 11 Nov 2009 20:21:14 +0000 (11 20:21 +0000)]
ChangeLog for libcpp
2009-11-11 Kai Tietz <kai.tietz@onevision.com>
Backported from trunk
* directives.c (do_pragma_push_macro): New pragma handler.
(do_pragma_pop_macro): Likewise.
(_cpp_init_internal_pragmas): Add push_macro and
pop_macro handler to internal pragmas.
(lex_macro_node_from_str): Removed.
(cpp_push_definition): Replace lex_macro_node_from_str
by _cpp_lex_identifier.
(cpp_pop_definition): Likewise.
* internal.h (_cpp_lex_identifier): New prototype.
(def_pragma_macro): New structure.
(cpp_reader): New member pushed_macros.
* lex.c (_cpp_lex_identifier): New function.
(lex_identifier_intern): New function.
* init.c (cpp_create_reader): Initialize pushed_macros
member.
(cpp_destroy): Free elements in pushed_macros member.
* pch.c (_cpp_save_pushed_macros): New function.
(_cpp_restore_pushed_macros): Likewise.
(_cpp_restore_pushed_macros): Use _cpp_save_pushed_macros.
(cpp_read_state): Use _cpp_restore_pushed_macros.
ChangeLog for gcc
2009-11-11 Kai Tietz <kai.tietz@onevision.com>
Backported from trunk
* config/i386/cygming.h (HANDLE_PRAGMA_PUSH_POP_MACRO):
Removed.
* c-pragma.c (def_pragma_macro_value): Likewise.
(def_pragma_macro): Likewise.
(pushed_macro_table): Likewise.
(HANDLE_PRAGMA_PUSH_POP_MACRO): Remove guarded
code.
* doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO):
Removed.
ChangeLog for gcc/testsuite
2009-11-11 Kai Tietz <kai.tietz@onevision.com>
Backported from trunk
* g++.dg/torture/pushpop_macro.C: New testcase.
* gcc.c-torture/execute/pushpop_macro.c: New testcase.
* gcc.dg/cpp/pragma-pop_macro-1.c: Allow test for all
targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154103 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Wed, 11 Nov 2009 00:16:34 +0000 (11 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154086 138bc75d-0d04-0410-961f-82ee72b054a4
chaoyingfu [Tue, 10 Nov 2009 22:35:18 +0000 (10 22:35 +0000)]
2009-11-10 Chao-ying Fu <fu@mips.com>
Backport from mainline
2009-10-29 Chao-ying Fu <fu@mips.com>
* config/mips/mips.c (mips_emit_unary, mips_force_unary): New
functions.
(mips_expand_synci_loop): Use the length rtx to control the
synci loop from the begin rtx that points to the first byte of
the cache line.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154080 138bc75d-0d04-0410-961f-82ee72b054a4
jsm28 [Tue, 10 Nov 2009 20:17:48 +0000 (10 20:17 +0000)]
* id.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154078 138bc75d-0d04-0410-961f-82ee72b054a4
ebotcazou [Tue, 10 Nov 2009 18:01:37 +0000 (10 18:01 +0000)]
* gcc.dg/vect/vect-multitypes-5.c: XFAIL on SPARC 32-bit.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-multitypes-12.c: Likewise.
* gcc.dg/vect/slp-multitypes-3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154071 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Tue, 10 Nov 2009 00:16:34 +0000 (10 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154057 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Mon, 9 Nov 2009 20:28:18 +0000 (9 20:28 +0000)]
PR c++/41972
* parser.c (cp_parser_template_argument): Accept SCOPE_REF around
VAR_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154050 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Mon, 9 Nov 2009 20:28:11 +0000 (9 20:28 +0000)]
PR c++/41994
* pt.c (tsubst_baselink): tsubst the name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154049 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Mon, 9 Nov 2009 20:28:04 +0000 (9 20:28 +0000)]
* g++.dg/abi/regparm1.C: Fix execute test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154048 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Mon, 9 Nov 2009 19:38:29 +0000 (9 19:38 +0000)]
PR middle-end/40946
Backport from mainline
2009-09-09 Richard Guenther <rguenther@suse.de>
PR middle-end/41317
* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Remove
code dealing with plain pointer bases.
(maybe_fold_offset_to_reference): Likewise.
(maybe_fold_stmt_addition): Adjust.
PR middle-end/40946
* gcc.dg/pr40946.c: New test.
Backport from mainline
2009-09-09 Richard Guenther <rguenther@suse.de>
PR middle-end/41317
* gcc.c-torture/execute/pr41317.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154046 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Mon, 9 Nov 2009 00:16:55 +0000 (9 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154023 138bc75d-0d04-0410-961f-82ee72b054a4
uros [Sun, 8 Nov 2009 18:10:10 +0000 (8 18:10 +0000)]
Backport from mainline:
2009-11-06 Michael Matz <matz@suse.de>
PR middle-end/41963
* tree-ssa-math-opts.c (execute_cse_reciprocals): Check all uses
of a potential reciprocal to really be reciprocals.
testsuite/ChangeLog:
Backport from mainline:
2009-11-06 Michael Matz <matz@suse.de>
PR middle-end/41963
* gcc.target/i386/pr41963.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154011 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sun, 8 Nov 2009 00:16:37 +0000 (8 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@154004 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Sat, 7 Nov 2009 19:45:56 +0000 (7 19:45 +0000)]
PR c++/9381
* decl2.c (build_memfn_type): Preserve attributes.
* tree.c (canonical_type_variant): Likewise.
* call.c (standard_conversion): Use build_memfn_type.
* pt.c (tsubst): Likewise.
* decl.c (build_ptrmem_type): Likewise
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153998 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Sat, 7 Nov 2009 17:39:48 +0000 (7 17:39 +0000)]
PR tree-optimization/41643
Backport from mainline
2009-04-03 Richard Guenther <rguenther@suse.de>
* tree-tailcall.c (tree_optimize_tail_calls_1): Also split the
edge from the entry block if we have degenerate PHI nodes in
the first basic block.
* gcc.dg/pr41643.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153996 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Sat, 7 Nov 2009 04:33:06 +0000 (7 04:33 +0000)]
2009-11-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41909
* gfortran.dg/recursive_check_15.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153992 138bc75d-0d04-0410-961f-82ee72b054a4
jvdelisle [Sat, 7 Nov 2009 04:31:02 +0000 (7 04:31 +0000)]
2009-11-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/41909
* resolve.c (is_illegal_recursion): Return false if sym is program.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153991 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Sat, 7 Nov 2009 00:16:42 +0000 (7 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153984 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Fri, 6 Nov 2009 17:55:08 +0000 (6 17:55 +0000)]
PR c++/41967
* parser.c (cp_parser_omp_for_loop): After diagnosing not perfectly
nested loop and parsing statements, don't cp_parser_require }, instead
exit the loop if next token is CPP_EOF.
* g++.dg/gomp/pr41967.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153973 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Fri, 6 Nov 2009 00:16:42 +0000 (6 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153955 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Thu, 5 Nov 2009 14:57:57 +0000 (5 14:57 +0000)]
* c-common.c (fold_offsetof_1): Revert the recently added
-Warray-bounds checking of offsetof arguments.
* c-c++-common/builtin-offset.c: Renamed to ...
* c-c++-common/builtin-offsetof.c: ... this. Don't expect a warning
on offsetof (struct B, p[10]).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153944 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Thu, 5 Nov 2009 14:47:24 +0000 (5 14:47 +0000)]
PR c++/36912
* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
(output_constant): Avoid crash after error.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153941 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Thu, 5 Nov 2009 00:16:29 +0000 (5 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153927 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Wed, 4 Nov 2009 19:55:56 +0000 (4 19:55 +0000)]
PR c++/35067
* method.c (use_thunk): Check DECL_WEAK as well as
DECL_ONE_ONLY.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153912 138bc75d-0d04-0410-961f-82ee72b054a4
uros [Wed, 4 Nov 2009 14:52:56 +0000 (4 14:52 +0000)]
* testsuite/ChangeLog: Fix last entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153898 138bc75d-0d04-0410-961f-82ee72b054a4
uros [Wed, 4 Nov 2009 14:14:49 +0000 (4 14:14 +0000)]
PR target/41900
* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
(TARGET_CALL_ESP): New define.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_ARCH_CALL_ESP.
* config/i386/i386.md
(*call_pop_1_esp, *call_1_esp, *call_value_pop_1_esp,
*call_value_1_esp): Rename from *call_pop_1, *call_1,
*call_value_pop_1 and *call_value_1. Depend on TARGET_CALL_ESP.
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
New patterns, use "lsm" as operand 1 constraint.
* config/i386/predicates.md (call_insn_operand): Depend on
index_register_operand for !TARGET_CALL_ESP to avoid %esp register.
testsuite/ChangeLog:
PR target/41900
* gcc.target/i386/pr41900.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153896 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Wed, 4 Nov 2009 07:29:29 +0000 (4 07:29 +0000)]
* c-common.c (fold_offsetof_1): Use %wd instead of
HOST_WIDE_INT_PRINT_DEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153888 138bc75d-0d04-0410-961f-82ee72b054a4
gccadmin [Wed, 4 Nov 2009 00:16:40 +0000 (4 00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153885 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Tue, 3 Nov 2009 23:49:07 +0000 (3 23:49 +0000)]
PR c++/36959
* decl2.c (cxx_callgraph_analyze_expr): Don't reference a function
just because a static variable in it is needed unless -frepo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153881 138bc75d-0d04-0410-961f-82ee72b054a4
jakub [Tue, 3 Nov 2009 22:40:08 +0000 (3 22:40 +0000)]
PR rtl-optimization/41917
* rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second
operand isn't known to be 0, return 1.
* gcc.c-torture/execute/pr41917.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153875 138bc75d-0d04-0410-961f-82ee72b054a4
jason [Tue, 3 Nov 2009 21:33:55 +0000 (3 21:33 +0000)]
PR c++/41876
* parser.c (cp_parser_exception_declaration): Pass true to
is_condition parm of cp_parser_type_specifier_seq.
(cp_parser_omp_for_loop): Likewise.
PR c++/39786, Core issue 812, 861
* name-lookup.c (qualified_lookup_using_namespace): Overhaul.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153872 138bc75d-0d04-0410-961f-82ee72b054a4
dodji [Tue, 3 Nov 2009 17:59:43 +0000 (3 17:59 +0000)]
Port c-c++-common support from 4.5
* g++.dg/dg.exp: Port c-c++-common support from 4.5.
* gcc.dg/dfp/dfp.exp: Likewise.
* gcc.dg/dg.exp: Likewise.
* gcc/testsuite/lib/target-supports.exp: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_4-branch@153859 138bc75d-0d04-0410-961f-82ee72b054a4