aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-09-20re PR rtl-optimization/42775 (GCC fails to rebuild itself with ↵Eric Botcazou2-1/+10
STAGE1_CFLAGS=-O1) PR rtl-optimization/42775 * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot scheduling is enabled. From-SVN: r164458
2010-09-20re PR rtl-optimization/45728 (ICE: in gen_lowpart_general, at rtlhooks.c:59 ↵Jakub Jelinek4-1/+36
at -O1 when comparing union members) PR rtl-optimization/45728 * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try gen_lowpart_common first and if that fails, force_reg first before calling gen_lowpart. * gcc.c-torture/compile/pr45728.c: New test. From-SVN: r164456
2010-09-20re PR rtl-optimization/45678 (crash on vector code with -m32 -msse)Jakub Jelinek2-3/+9
PR middle-end/45678 * cfgexpand.c (expand_one_stack_var_at): Use crtl->max_used_stack_slot_alignment as max_align, instead of maximum of that and PREFERRED_STACK_BOUNDARY. Don't call update_stack_alignment. From-SVN: r164454
2010-09-20langhooks.h (struct lang_hooks_for_types): Remove hash_types field.Eric Botcazou11-73/+146
* langhooks.h (struct lang_hooks_for_types): Remove hash_types field. * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES. * system.h (LANG_HOOKS_HASH_TYPES): Poison. * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types. (build_nonstandard_integer_type): Likewise. (build_range_type_1): New function, built from... (build_range_type): ...this. Call build_range_type_1. (build_nonshared_range_type): New function. (build_array_type_1): New function, built from... (build_array_type: ...this. Call build_array_type_1. (build_nonshared_array_type): New function. * tree.h (build_nonshared_range_type): Declare. (build_nonshared_array_type): Likewise. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to build_array_type with calls to build_nonshared_array_type. (substitute_in_type): Likewise. * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete. (LANG_HOOKS_TYPE_HASH_EQ): Define. (gnat_post_options): Add 'static' keyword. (gnat_type_hash_eq): New static function. * gcc-interface/utils.c (fntype_same_flags_p): New function. (create_subprog_type): Call it. (create_index_type): Call build_nonshared_range_type and tidy up. (create_range_type): Likewise. * gcc-interface/gigi.h (fntype_same_flags_p): Declare. From-SVN: r164452
2010-09-20re PR libstdc++/45711 (Building with "--enable-libstdcxx-debug" fails during ↵Ralf Wildenhues3-0/+13
install) Fix PR libstdc++/45711. libstdc++-v3/: PR libstdc++/45711 * src/Makefile.am (stamp-debug): Also adjust possibly-relative file names in MKDIR_P, and, for consistency, also top_build_prefix. * src/Makefile.in: Regenerate. From-SVN: r164451
2010-09-20arm.h (CLASS_LIKELY_SPILLED_P): Remove.Anatoly Sokolov3-7/+26
* config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove. * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. (arm_class_likely_spilled_p): New function. From-SVN: r164450
2010-09-20i386.c (ix86_expand_ashl_const): Rewrite using indirect functions.Uros Bizjak2-117/+138
* config/i386/i386.c (ix86_expand_ashl_const): Rewrite using indirect functions. (ix86_split_ashl): Ditto. (ix86_split_ashr): Ditto. (ix86_split_lshr): Ditto. (ix86_adjust_counter): Ditto. From-SVN: r164449
2010-09-20re PR fortran/45081 (ICE in gfc_conv_array_initializer, at ↵Paul Thomas4-1/+58
fortran/trans-array.c:4208) 2010-09-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/45081 * simplify.c (is_constant_array_expr): Allow structure array elements as well as constants. (gfc_simplify_pack, gfc_simplify_reshape, gfc_simplify_spread, gfc_simplify_transpose, gfc_simplify_unpack): Copy the derived type of source to the result. 2010-09-20 Paul Thomas <pault@gcc.gnu.org> PR fortran/45081 * gfortran.dg/derived_array_intrinsics_1.f90 : New test. From-SVN: r164448
2010-09-20In gcc/:Nicola Pero2-1/+6
* c-family/c-common.h (constant_string_class): Documented with comment identical to the one in c-common.c. From-SVN: r164447
2010-09-20Add "\\".H.J. Lu2-1/+5
2010-09-20 H.J. Lu <hongjiu.lu@intel.com> * g++.dg/tree-ssa/pr45605.C: Add "\\". From-SVN: r164446
2010-09-20dwarf2out.c (any_cfis_emitted): New static variable.Jakub Jelinek2-2/+17
* dwarf2out.c (any_cfis_emitted): New static variable. (add_fde_cfi): Set it. (dwarf2out_frame_debug): Clear it before processing, if it is set afterwards, flush any queued reg saves. From-SVN: r164443
2010-09-20re PR debug/45124 (No DW_AT_accessibility for public DIEs in DW_TAG_class_type)Jakub Jelinek2-2/+33
PR debug/45124 * dwarf2out.c (add_accessibility_attribute): Assume DW_ACCESS_private as the default for dwarf_version > 2 and DW_TAG_class_type parent. (gen_inheritance_die): Assume DW_ACCESS_public as the default for dwarf_version > 2 and parent other than DW_TAG_class_type. From-SVN: r164442
2010-09-20re PR target/45726 (Thumb2 instruction emitted for incompatible CPU)Rafael Carre2-1/+6
2010-09-20 Rafael Carre <rafael.carre@gmail.com> PR target/45726 * arm.md (arm_movt): Only enable on machines with MOVT. From-SVN: r164441
2010-09-20arm.c (arm_address_offset_is_imm): New.Jie Zhang6-4/+305
* config/arm/arm.c (arm_address_offset_is_imm): New. (arm_early_store_addr_dep): New. (arm_early_load_addr_dep): New. * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare. (arm_early_load_addr_dep): Declare. (arm_address_offset_is_imm): Declare. * config/arm/cortex-m4.md: New file. * config/arm/cortex-m4-fpu.md: New file. * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md. (attr generic_sched): Exclude cortexm4. (attr generic_vfp): Exclude cortexm4. From-SVN: r164440
2010-09-20re PR tree-optimization/45704 (load byte instruction is used for volatile int)Richard Guenther4-0/+34
2010-09-20 Richard Guenther <rguenther@suse.de> PR middle-end/45704 * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness. * gcc.dg/torture/pr45704.c: New testcase. From-SVN: r164439
2010-09-20re PR tree-optimization/45605 (Missed devirtualization)Jan Hubicka14-33/+109
PR tree-optimize/45605 * cgraph.h (const_value_known_p): Declare. (varpool_decide_const_value_known): Remove. * tree-ssa-ccp.c (get_base_constructor): Use it. * lto-cgraph.c (compute_ltrans_boundary): Likewise. * expr.c (string_constant): Likewise. * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise. * ipa.c (ipa_discover_readonly_nonaddressable_var, function_and_variable_visibility): Likewise. * gimplify.c (gimplify_call_expr): Likewise. * gimple-fold.c (get_symbol_constant_value): Likewise. * varpool.c (varpool_decide_const_value_known): Replace by... (const_value_known_p): ... this one; handle other kinds of DECLs too and work for automatic vars. (varpool_finalize_decl): Use const_value_known_p. * lto.c (lto_promote_cross_file_statics): Use const_value_known_p. * g++.dg/tree-ssa/pr45605.C: New testcase. From-SVN: r164438
2010-09-20re PR target/45726 (Thumb2 instruction emitted for incompatible CPU)Rafael Carre2-1/+6
2010-09-20 Rafael Carre <rafael.carre@gmail.com> PR target/45726 * arm.md (arm_movtas_ze): Only enable on machine with MOVT. From-SVN: r164436
2010-09-20re PR testsuite/45706 (gcc.dg/vect/vect-114.c)Michael Matz2-1/+6
PR testsuite/45706 * gcc.dg/vect/pr43432.c: Don't override dg-options, defaults are enough. From-SVN: r164435
2010-09-20re PR middle-end/45705 (Useless store not optimized away)Richard Guenther4-0/+71
2010-09-20 Richard Guenther <rguenther@suse.de> PR tree-optimization/45705 * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination. * gcc.dg/tree-ssa/ssa-dom-dse-1.c: New testcase. From-SVN: r164434
2010-09-20re PR testsuite/45706 (gcc.dg/vect/vect-114.c)Michael Matz2-0/+7
PR testsuite/45706 * lib/target-supports.exp (check_effective_target_vect_perm): Add i?86-*-*. From-SVN: r164433
2010-09-20re PR rtl-optimization/45695 (-O1 wrong-code by cmove)Jakub Jelinek4-52/+68
PR rtl-optimization/45695 * combine.c (try_combine): When splitting a two set pattern, make sure the pattern which will be put into i2 doesn't use REGs or MEMs set by insns in between i2 and i3. * gcc.c-torture/execute/pr45695.c: New test. From-SVN: r164431
2010-09-20Daily bump.GCC Administrator1-1/+1
From-SVN: r164429
2010-09-19re PR lto/44246 (ICE with -fwhopr/-flto when using strlen and strcat without ↵Jan Hubicka4-1/+38
previous declaration) PR lto/44246 * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid processing same node twice. * gcc.c-torture/compile/pr44246.c:New file. From-SVN: r164425
2010-09-19trans.c (gnat_pushdecl): Do not do anything special for PARM_DECLs.Eric Botcazou3-84/+99
* gcc-interface/trans.c (gnat_pushdecl): Do not do anything special for PARM_DECLs. (end_subprog_body): If the body is a BIND_EXPR, make its associated block the top-level one. (build_function_stub): Build a statement group for the whole function. * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out is used, create the enclosing block early and process first the OUT parameters. From-SVN: r164422
2010-09-19bfin.h (CLASS_LIKELY_SPILLED_P): Remove.Anatoly Sokolov3-9/+32
* config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove. * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. (bfin_class_likely_spilled_p): New function From-SVN: r164421
2010-09-19re PR tree-optimization/45714 (Vectorization of double pow function causes a ↵Ira Rosen5-2/+71
segmentation fault) PR tree-optimization/45714 * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement created in vectorizable_call instead of the original statement in def stmt updates. From-SVN: r164420
2010-09-19decl.c (gnat_to_gnu_entity): Do not generate debug info for individual ↵Eric Botcazou2-1/+7
enumerators. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do not generate debug info for individual enumerators. From-SVN: r164418
2010-09-19decl.c (gnat_to_gnu_entity): Use record type instead of enumeral type as the ↵Eric Botcazou2-1/+7
dummy type built for the... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record type instead of enumeral type as the dummy type built for the template type of fat pointers. From-SVN: r164417
2010-09-19gigi.h (get_elaboration_procedure): Declare.Eric Botcazou11-32/+153
* gcc-interface/gigi.h (get_elaboration_procedure): Declare. (gnat_zaplevel): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global binding level for an external constant. <E_Constant>: Force the local context and create a fake scope before translating the defining expression of an external constant. <object>: Treat external constants at the global level explicitly for renaming declarations. (elaborate_expression_1): Force the variable to be static if the expression is global. * gcc-interface/trans.c (get_elaboration_procedure): New function. (call_to_gnu): Use it. (gnat_to_gnu): Likewise. <N_Object_Declaration>: Do not test Is_Public to force the creation of an initialization variable. (add_decl_expr): Discard the statement if the declaration is external. * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in the current block if it is external. (create_var_decl_1): Do not test Is_Public to set TREE_STATIC. (gnat_zaplevel): New global function. From-SVN: r164416
2010-09-19decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL variables against zero ↵Eric Botcazou3-23/+42
in all cases. * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL variables against zero in all cases. (rest_of_type_decl_compilation): Likewise. * gcc-interface/trans.c (gigi): Pass properly typed constants to create_var_decl. (call_to_gnu): Fix formatting. (Handled_Sequence_Of_Statements_to_gnu): Likewise. (Exception_Handler_to_gnu_zcx): Likewise. (gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of constant expressions in presence of a freeze node. From-SVN: r164415
2010-09-19decl.c (gnat_to_gnu_entity): Look into expressions for external constants ↵Eric Botcazou6-12/+69
that are aggregates. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into expressions for external constants that are aggregates. * gcc-interface/utils2.c (build_simple_component_ref): If the field is an inherited component in an extension, look through the extension. From-SVN: r164414
2010-09-19i386-protos.h (split_double_mode): New prototype.Uros Bizjak5-130/+109
* config/i386/i386-protos.h (split_double_mode): New prototype. (split_di, split_ti): Remove prototypes. * config/i386/i386.c (split_double_mode): New function. (split_di, split_ti): Remove. (ix86_expand_branch): Use split_double_mode. (ix86_split_to_parts): Ditto. (ix86_split_ashl): Ditto. (ix86_split_ashr): Ditto. (ix86_split_lshr): Ditto. (ix86_force_to_memory): Ditto. * config/i386/i386.md: Use split_double_mode in double-mode splitters. From-SVN: r164413
2010-09-19Uglify C++ headers some more.Ralf Wildenhues4-14/+25
libstdc++-v3/: * include/ext/throw_allocator.h (hash<__gnu_cxx::throw_value_limit>::operator()): Uglify local. (hash<__gnu_cxx::throw_value_random>::operator()): Likewise. * include/parallel/set_operations.h (__symmetric_difference_func): Uglify remaining arguments to __count, __first_empty, _M_invoke. (__difference_func): Likewise for __count. * include/profile/impl/profiler_node.h (__object_info_base::__write): Uglify parameter. From-SVN: r164411
2010-09-19hash_bytes.cc: Compile load_bytes and shift_mix only when __SIZEOF_SIZE_T__ ↵Paolo Carlini2-0/+7
== 8. 2010-09-19 Paolo Carlini <paolo.carlini@oracle.com> * src/hash_bytes.cc: Compile load_bytes and shift_mix only when __SIZEOF_SIZE_T__ == 8. From-SVN: r164410
2010-09-19Daily bump.GCC Administrator1-1/+1
From-SVN: r164409
2010-09-18re PR tree-optimization/45453 (ICE: verify_cgraph_node failed: inlined_to ↵Jan Hubicka7-2/+54
pointer set for noninline callers with -O2 -fno-early-inlining) PR tree-optimization/45453 * cgraphunit.c (cgraph_finalize_function): Consider comdat & external virtual functions are reachable. * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise. * ipa.c (cgraph_remove_unreachable_nodes): Likewise. * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P when modifying function. * g++.dg/tree-ssa/pr45453.C: New testcase. From-SVN: r164405
2010-09-18frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING.Thomas Koenig2-1/+7
2010-09-19 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (gfc_expr_walker): Also handle EXPR_SUBSTRING. From-SVN: r164404
2010-09-18frontend-passes.c (gfc_expr_walker): Handle constructors and references.Thomas Koenig2-0/+63
2010-09-17 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (gfc_expr_walker): Handle constructors and references. From-SVN: r164403
2010-09-18re PR tree-optimization/45605 (Missed devirtualization)Jan Hubicka3-5/+76
PR tree-optimization/45605 * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack. * gimple-fold.c (static_object_in_other_unit_p): New function. (canonicalize_constructor_val): Use it. (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val returning NULL. (gimple_fold_obj_type_ref_known_binfo): Use static_object_in_other_unit_p. From-SVN: r164402
2010-09-18call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ↵Jason Merrill4-6/+27
ck_list, too. * call.c (compare_ics): Do lvalue/rvalue reference binding comparison for ck_list, too. From-SVN: r164401
2010-09-18re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at ↵Richard Guenther4-5/+45
tree-phinodes.c:395) 2010-09-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/45709 * tree-inline.c (copy_phis_for_bb): Delay commit of edge insertions until after all PHI nodes of the block are processed. * g++.dg/torture/pr45709-2.C: New testcase. From-SVN: r164397
2010-09-18* config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.Tijl Coosemans2-0/+9
From-SVN: r164396
2010-09-18Pass -fno-pic to gcc.target/i386/pad-3.c.H.J. Lu2-1/+6
2010-09-18 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/45719 * gcc.target/i386/pad-3.c: Pass -fno-pic. From-SVN: r164395
2010-09-18lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails.Gerald Pfeifer2-1/+6
* lto-elf.c (lto_obj_file_open): Also provide filename when elf_begin fails. From-SVN: r164394
2010-09-18config.gcc (*-w64-mingw*): Correct typo about t-dfprules.Kai Tietz2-1/+5
2010-09-18 Kai Tietz <kai.tietz@onevision.com> * config.gcc (*-w64-mingw*): Correct typo about t-dfprules. From-SVN: r164393
2010-09-18re PR tree-optimization/45709 (internal compiler error: in add_phi_arg, at ↵Richard Guenther3-1/+29
tree-phinodes.c:395) 2010-09-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/45709 * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it. * g++.dg/torture/pr45709.C: New testcase. From-SVN: r164390
2010-09-18In libobjc/:Nicola Pero9-249/+506
* hash.c: Include objc-private/hash.h instead of objc/hash.h. * objc/sarray.h: Moved into objc/deprecated/sarray.h; objc/sarray.h replaced with a placeholder including the file from the deprecated/ directory. * objc-private/sarray.h: New file (private copy of sarray.h). * hash.c: Include <assert.h> instead of "assert.h" * sarray.c: Include <assert.h> instead of "assert.h". Include objc-private/sarray.h instead of objc/sarray.h. * selector.c: Include objc-private/sarray.h instead of objc/sarray.h. * sendmsg.c: Include <assert.h>. Include objc-private/sarray.h instead of objc/sarray.h. * Makefile.in (OBJC_DEPRECATED_H): Added sarray.h. From-SVN: r164389
2010-09-18re PR libstdc++/45713 (sizeof std::bitset<ULONG_MAX> == 1)Luc Hermitte3-2/+34
2010-09-17 Luc Hermitte <hermitte@free.fr> Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/45713 * include/std/bitset: Fix _GLIBCXX_BITSET_WORDS macro. * testsuite/23_containers/bitset/45713.cc: New. Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r164388
2010-09-18Daily bump.GCC Administrator1-1/+1
From-SVN: r164387
2010-09-17Add DEBUG_FUNCTION to all the dot_* debugging functions.Sebastian Pop4-5/+13
2010-09-17 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION. (dot_deps_stmt): Same. * graphite-poly.c (dot_lst): Same. * graphite-scop-detection.c (dot_all_scops): Same. (dot_scop): Same. From-SVN: r164381