aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-05-11* tree.c (type_hash_canon): Use struct tree_type_non_common.Jason Merrill2-1/+5
From-SVN: r173692
2011-05-12Daily bump.GCC Administrator1-1/+1
From-SVN: r173691
2011-05-11No gcc/ prefix in gcc/ChangeLog.Paul Pluzhnikov1-5/+5
From-SVN: r173686
2011-05-11cfgrtl.c (commit_one_edge_insertion): Remove always-true test and reindent ↵Eric Botcazou2-59/+60
the subsequent block. * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and reindent the subsequent block. From-SVN: r173685
2011-05-11re PR c++/48948 ([C++0x] constexpr friend function cannot be defined in-class)Jason Merrill9-38/+137
PR c++/48948 * semantics.c (validate_constexpr_fundecl): Defer checking if an argument type is being defined. (is_valid_constexpr_fn): Add defer_ok parm. (cxx_eval_call_expression): Adjust. (check_deferred_constexpr_decls): New. (literal_type_p): Make sure type isn't being defined. (ensure_literal_type_for_constexpr_object): Handle type being defined. * cp-tree.h: Declare check_deferred_constexpr_decls. * decl.c (grokfndecl): Call validate_constexpr_fundecl here. (start_preparsed_function, cp_finish_decl): Not here. * class.c (finalize_literal_type_property): Don't call validate_constexpr_fundecl. (finish_struct): Call check_deferred_constexpr_decls. * pt.c (tsubst_decl): Call validate_constexpr_fundecl. (instantiate_class_template): Call check_deferred_constexpr_decls. From-SVN: r173683
2011-05-11semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO rather ↵Jason Merrill2-3/+7
than DECL_TEMPLATE_INSTANTIATION. * semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO rather than DECL_TEMPLATE_INSTANTIATION. (cxx_eval_call_expression): Likewise. From-SVN: r173682
2011-05-11semantics.c (register_constexpr_fundef): Add to hash table here.Jason Merrill2-21/+21
* semantics.c (register_constexpr_fundef): Add to hash table here. (validate_constexpr_fundecl): Not here. From-SVN: r173681
2011-05-11* decl.c (grokdeclarator): Only set DECL_DECLARED_CONSTEXPR_P once.Jason Merrill2-5/+9
From-SVN: r173680
2011-05-11pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p, do call ↵Jason Merrill3-4/+12
maybe_constant_value in C++0x mode. * pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p, do call maybe_constant_value in C++0x mode. * semantics.c (cxx_eval_constant_expression): Handle TEMPLATE_DECL. From-SVN: r173679
2011-05-11re PR c++/48745 ([C++0x] Segmentation fault with list-initialization, void ↵Jason Merrill4-0/+42
initializers and variadics) PR c++/48745 * pt.c (value_dependent_expr_p): Handle CONSTRUCTOR. From-SVN: r173678
2011-05-11re PR fortran/48889 (f951: internal compiler error: in gfc_is_constant_expr, ↵Tobias Burnus4-5/+120
at fortran/expr.c:906) 2011-05-11 Tobias Burnus <burnus@net-b.de> PR fortran/48889 * expr.c (gfc_is_constant_expr): Use e->value.function.esym instead of e->symtree->n.sym, if available. 2011-05-11 Tobias Burnus <burnus@net-b.de> PR fortran/48889 * gfortran.dg/generic_24.f90: New. From-SVN: r173674
2011-05-11Permit new of a function type.Ian Lance Taylor1-12/+0
From-SVN: r173672
2011-05-11Don't crash ranging over call to builtin function.Ian Lance Taylor2-6/+7
From-SVN: r173671
2011-05-11install.texi (Configuration): Document --with-linker-hash-style.Satoru Takabayashi6-3/+92
2011-05-11 Satoru Takabayashi <satorux@google.com> Paul Pluzhnikov <ppluzhnikov@google.com> * gcc/doc/install.texi (Configuration): Document --with-linker-hash-style. * gcc/gcc.c (init_spec): Handle LINKER_HASH_STYLE. * gcc/config.in: Add LINKER_HASH_STYLE. * gcc/configure.ac: Add --with-linker-hash-style. * gcc/configure: Regenerate. Co-Authored-By: Paul Pluzhnikov <ppluzhnikov@google.com> From-SVN: r173668
2011-05-11don't use build_function_type in the Ada FENathan Froyd2-21/+21
don't use build_function_type in the Ada FE * gcc-interface/utils.c (def_fn_type): Don't call build_function_type; call build_function_type_array or build_varargs_function_type_array instead. (create_subprog_type): Don't call build_function_type; call build_function_type_vec instead. From-SVN: r173664
2011-05-11re PR bootstrap/48964 (LTO profiledbootstrap failure)Richard Guenther2-1/+6
2011-05-11 Richard Guenther <rguenther@suse.de> PR middle-end/48964 * gimple.c (iterative_hash_canonical_type): Fix typo. From-SVN: r173663
2011-05-11i386.c (legitimize_tls_address): Call gen_tls_dynamic_gnu2_{32,64} expanders ↵Uros Bizjak4-149/+157
directly for TARGET_GNU2_TLS. * config/i386/i386.c (legitimize_tls_address) <TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64} expanders directly for TARGET_GNU2_TLS. Determine pic and __tls_get_addr symbol reference here. Update call to gen_tls_global_dynamic_{32,64} for added arguments. <TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64} expanders directly for TARGET_GNU2_TLS. Determine __tls_get_addr symbol reference here. Update call to gen_tls_local_dynamic_base_{32,64} for added arguments. Attach unique UNSPEC REG_EQUIV to libcall block. (ix86_tls_get_addr): Declare static. * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration. * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3. Do not determine pic and __tls_get_addr symbol reference here. Do not call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS. (tls_local_dynamic_base_32): Ditto for operands 1 and 2. (tls_global_dynamic_64): Add operand 2. Do not determine __tls_get_addr symbol reference here. Do not call gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here. (tls_local_dynamic_base64): Ditto for operand 1. From-SVN: r173662
2011-05-11function.c (expand_function_start): Initialize stack_check_probe_note only ↵Eric Botcazou2-3/+7
if the generic stack checking mechanism... * function.c (expand_function_start): Initialize stack_check_probe_note only if the generic stack checking mechanism is used. From-SVN: r173661
2011-05-11re PR tree-optimization/15256 ([tree-ssa] Optimize manual bitfield ↵Richard Guenther4-33/+126
manipilation.) 2011-05-11 Richard Guenther <rguenther@suse.de> PR tree-optimization/15256 * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize (A & B) | C, combine (A op CST1) op CST2. (tree_ssa_forward_propagate_single_use_vars): Only bother to visit assigns that have uses. * gcc.dg/tree-ssa/forwprop-14.c: New testcase. From-SVN: r173659
2011-05-11split tree_typeNathan Froyd19-152/+306
split tree_type gcc/ada/ * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL. (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL. (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL. gcc/cp/ * cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use TYPE_VALUES_RAW. (UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise. (DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise. (TEMPLATE_TYPE_PARM_INDEX): Likewise. gcc/ * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common. * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to... (unpack_ts_type_common_value_fields): ...this. Update comment. (unpack_value_fields): Adjust for renaming. (lto_input_ts_type_tree_pointers): Split into... (lto_input_ts_type_common_tree_pointer): ...this and... (lto_input_ts_type_non_common_tree_pointers): ...this. (lto_input_tree_pointers): Adjust for above split. * lto-streamer-out.c (pack_ts_type_value_fields): Rename to... (pack_ts_type_common_value_fields): ...this. Update comment. (lto_output_ts_type_tree_pointers): Split into... (lto_output_ts_type_common_tree_pointers): ...this and... (lto_output_ts_type_non_common_tree_pointers): ...this. (lto_output_tree_pointers): Adjust for above split. * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled. * stor-layout.c (vector_type_mode): Adjust location of mode field. * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC): Define. (struct tree_type): Split into... (struct tree_type_common: ...this and... (struct tree_type_with_lang_specific): ...this and... (struct tree_type_non_common): ...this. Adjust accessor macros accordingly. (TYPE_VALUES_RAW): Define. (union tree_node): Update for above changes. * tree.c (tree_node_structure_for_code) [tcc_type]: Return TS_TYPE_NON_COMMON. (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON. Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON. (tree_code_size) [tcc_type]: Use struct tree_type_non_common. * treestructu.def (TS_TYPE): Remove. (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON): Define. gcc/java/ * java-tree.h (TYPE_ARGUMENT_SIGNATURE): Use TYPE_MINVAL. gcc/lto/ * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL. Adjust location of binfo field. (lto_fixup_prevailing_decls): Likewise. gcc/objc/ * objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors. (CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise. (PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise. From-SVN: r173658
2011-05-11re PR debug/48159 (ICE: SIGSEGV in build2_stat (tree.c:3802) with ↵Jakub Jelinek8-5/+109
-ftree-loop-distribution -g) PR debug/48159 * tree-ssa.c (reset_debug_uses): New function. * tree-flow.h (reset_debug_uses): New prototype. * tree-data-ref.c (stmts_from_loop): Ignore debug stmts. * tree-loop-distribution.c (generate_loops_for_partition): Call reset_debug_uses on the stmts that will be removed. Keep around all debug stmts, don't count them as bits in partition bitmap. (generate_builtin): Don't count debug stmts or labels as bits in partition bitmap. * gcc.dg/pr48159-1.c: New test. * gcc.dg/pr48159-2.c: New test. From-SVN: r173656
2011-05-11gimple.c (gimple_type_hash_1): Merge with ...Richard Guenther2-119/+75
2011-05-11 Richard Guenther <rguenther@suse.de> * gimple.c (gimple_type_hash_1): Merge with ... (gimple_type_hash): ... this. (gtc_visit): Remove mode parameter and simplify accordingly. (gimple_types_compatible_p_1): Likewise. (gimple_types_compatible_p): Likewise. (iterative_hash_gimple_type): Likewise. (visit): Likewise. (gimple_type_eq): Adjust. From-SVN: r173655
2011-05-11Support closing_branch_depsRevital Eres3-56/+152
From-SVN: r173654
2011-05-11re PR middle-end/48953 (ICE: verify_gimple failed: type mismatch in array ↵Richard Guenther4-9/+38
reference with -flto and struct with vararray) 2011-05-11 Richard Guenther <rguenther@suse.de> PR middle-end/48953 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs. * gcc.dg/torture/pr48953.c: New testcase. From-SVN: r173653
2011-05-11opts.c (finish_options): Move warning settings from process_options.Joseph Myers3-23/+32
* opts.c (finish_options): Move warning settings from process_options. * toplev.c (process_options): Move warning settings to finish_options. From-SVN: r173651
2011-05-11re PR middle-end/18041 (OR of two single-bit bitfields is inefficient)Richard Guenther4-39/+116
2011-05-11 Richard Guenther <rguenther@suse.de> PR tree-optimization/18041 * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ... (simplify_bitwise_binary): ... this. Handle operand conversions by applying them to the result instead. (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code. * gcc.dg/tree-ssa/forwprop-13.c: New testcase. From-SVN: r173650
2011-05-11gimple.c (gimple_canonical_types_compatible_p): Split out from ↵Richard Guenther2-3/+508
gimple_types_compatible_p and friends. 2011-05-11 Richard Guenther <rguenther@suse.de> * gimple.c (gimple_canonical_types_compatible_p): Split out from gimple_types_compatible_p and friends. Do not recurse to pointed-to types. (gimple_canonical_type_eq): Use it. (iterative_hash_canonical_type): Split out from iterative_hash_gimple_type and friends. Do not recurse to pointed-to types. (gimple_canonical_type_hash): Use it, allocate the hash here. From-SVN: r173649
2011-05-11Skip DEBUG_INSNs while recognizing doloopRevital Eres2-2/+7
From-SVN: r173647
2011-05-11Skip DEBUG_INSN in loop-doloop.cRevital Eres2-1/+6
From-SVN: r173646
2011-05-11Doloop pattern for ARMRevital Eres5-13/+136
From-SVN: r173645
2011-05-11re PR target/47755 (VSX code generates a TOC reference to clear memory)Alan Modra2-1/+6
PR target/47755 * gcc.target/powerpc/pr47755-2.c: Require vsx_hw. From-SVN: r173643
2011-05-11Daily bump.GCC Administrator1-1/+1
From-SVN: r173641
2011-05-10make CASE_LABEL_EXPR not abuse TREE_CHAINNathan Froyd3-2/+7
make CASE_LABEL_EXPR not abuse TREE_CHAIN * tree.def (CASE_LABEL_EXPR): Add an operand. * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN. From-SVN: r173633
2011-05-10c-decl.c (c_override_global_bindings_to_false): Remove.Joseph Myers4-14/+10
* c-decl.c (c_override_global_bindings_to_false): Remove. (global_bindings_p): Don't check c_override_global_bindings_to_false. * c-tree.h (c_override_global_bindings_to_false): Remove. * c-typeck.c (composite_type): Don't set c_override_global_bindings_to_false. From-SVN: r173632
2011-05-10re PR c++/48930 ([C++0x] Invalid implicitly declared default c'tor)Jason Merrill9-21/+65
PR c++/48930 * class.c (type_build_ctor_call): New. * cp-tree.h: Declare it. * decl.c (check_initializer): Use it instead of TYPE_NEEDS_CONSTRUCTING. * init.c (build_value_init, build_value_init_noctor): Likewise. (perform_member_init, expand_aggr_init_1, build_new_1): Likewise. (build_vec_init): Likewise. * typeck2.c (process_init_constructor_array): Likewise. (process_init_constructor_record): Likewise. From-SVN: r173628
2011-05-10re PR c++/48736 ([C++0x] ICE during list-initialization with variadics)Jason Merrill4-1/+22
PR c++/48736 * pt.c (tsubst_copy_and_build): Handle substitution of a pack expansion producing another expansion. From-SVN: r173627
2011-05-10Fixes for override/final.Ville Voutilainen4-10/+45
* class.c (check_for_override): Diagnose final on a nonvirtual member function, diagnose override for a virtual with no matching override. Don't fiddle around with DECL_VINDEX. From-SVN: r173626
2011-05-10mark EXPR_PACK_EXPANSION as typed onlyNathan Froyd7-41/+62
mark EXPR_PACK_EXPANSION as typed only * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand. * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED. * cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new operand of EXPR_PACK_EXPANSION. (cp_tree_operand_length): Declare. * tree.c (cp_tree_operand_length): Define. (cp_tree_equal): Call it. * pt.c (value_dependent_expr_P): Likewise. * mangle.c (write_expression): Likewise. From-SVN: r173625
2011-05-10Fix PRs 48857, 48495Michael Meissner5-45/+84
From-SVN: r173624
2011-05-10use build_function_type less in c-family and LTONathan Froyd4-15/+29
use build_function_type less in c-family and LTO gcc/c-family/ * c-common.c (def_fn_type): Don't call build_function_type, call build_function_type_array or build_varargs_function_type_array instead. (c_common_nodes_and_builtins): Likewise. gcc/lto/ * lto-lang.c (def_fn_type): Don't call build_function_type, call build_function_type_array or build_varargs_function_type_array instead. From-SVN: r173623
2011-05-10config.gcc (i[34567]86-*-darwin*, [...]): Add i386/darwin-lib.h to ↵Joseph Myers3-9/+8
$libgcc_tm_file. gcc: * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add i386/darwin-lib.h to $libgcc_tm_file. * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove. libgcc: * config/i386/darwin-lib.h: New file. From-SVN: r173622
2011-05-10* doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.Joseph Myers2-0/+7
From-SVN: r173621
2011-05-10gcc_update (gcc/config/rs6000/rs6000-tables.opt): New dependencies.Joseph Myers12-183/+496
contrib: * gcc_update (gcc/config/rs6000/rs6000-tables.opt): New dependencies. gcc: * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files. * config/rs6000/rs6000-tables.opt: New file (generated). * config.gcc (powerpc*-*-*, rs6000*-*-*): Add rs6000/rs6000-tables.opt to extra_options. * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define. * config/rs6000/rs6000.c (rs6000_select): Remove. (processor_target_table): Move contents to rs6000-cpus.def. (darwin_rs6000_override_options): Check global_options_set.x_rs6000_cpu_index instead of rs6000_select[1].string. (rs6000_option_override_internal): Likewise. (rs6000_handle_option): Don't assert that global structures are in use. Don't handle OPT_mcpu_ and OPT_mtune_ here. (rs6000_default_cpu): New variable. (rs6000_file_start): Set it instead of local default_cpu. Check rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and global_options_set.x_rs6000_tune_index instead of rs6000_select. (rs6000_darwin_file_start): Check rs6000_default_cpu and global_options_set.x_rs6000_cpu_index instead of rs6000_select. * config/rs6000/rs6000.h (struct rs6000_cpu_select, rs6000_select): Remove. * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index): Remove. (mcpu=, mtune=): Use Var, Init, Enum and Save. * config/rs6000/t-rs6000 ($(srcdir)/config/rs6000/rs6000-tables.opt): New. * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check global_options_set.x_rs6000_cpu_index instead of rs6000_select[1].string. * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check global_options_set.x_rs6000_cpu_index instead of rs6000_select[1].string. From-SVN: r173620
2011-05-10config.gcc (libgcc_tm_file): Define instead of including files from ↵Joseph Myers8-20/+77
../../libgcc/config/ in tm_file. gcc: * config.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc/config/ in tm_file. * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define. * configure: Regenerate. * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list, libgcc_tm.h, cs-libgcc_tm.h): New. (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list). (clean): Remove libgcc_tm.h. * config/arm/symbian.h (RENAME_LIBRARY): Remove. * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET. * system.h (DECLARE_LIBRARY_RENAMES): Poison. libgcc: * config/arm/symbian-lib.h: New. From-SVN: r173619
2011-05-10re PR target/48896 (avr.o warnings)Georg-Johann Lay2-13/+21
PR target/48896 * config/avr/avr.c (avr_ret_register): Return unsigned int instead of int. (avr_function_value): Mark fn_decl_or_type as unused, don't pass it to avr_libcall_value. avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to expand_expr. (avr_expand_binop_builtin): Ditto. (avr_expand_unop_builtin): Ditto. From-SVN: r173617
2011-05-10rx.h (JUMP_ALIGN, [...]): Define.DJ Delorie4-4/+26
* config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define. (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label * config/rx/rx.c (rx_align_for_label): Add label and uses_threshold parameters. Do not align when the label is not used enough. * config/rx/rx-protos.h (rx_align_for_label): Update prototype. From-SVN: r173615
2011-05-10tree-ssa-forwprop.c (combine_conversions): Pattern-match a series of ↵Richard Guenther8-14/+199
conversions and apply foldings similar to what... 2011-05-10 Richard Guenther <rguenther@suse.de> * tree-ssa-forwprop.c (combine_conversions): Pattern-match a series of conversions and apply foldings similar to what fold-const does. (tree_ssa_forward_propagate_single_use_vars): Call it. * gcc.dg/tree-ssa/ssa-fre-2.c: Disable forwprop. * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise. * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise. * gcc.dg/tree-ssa/scev-cast.c: Adjust. Note what transformation applies. From-SVN: r173612
2011-05-10re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr ↵Jakub Jelinek5-0/+47
(tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop on basic code) PR tree-optimization/48611 PR tree-optimization/48794 * tree-eh.c (remove_unreachable_handlers): Don't remove regions referenced from RESX or EH_DISPATCH arguments. * gfortran.dg/gomp/pr48611.f90: New test. * gfortran.dg/gomp/pr48794.f90: New test. From-SVN: r173607
2011-05-10re PR debug/48928 (ICE: in decimal_to_decnumber, at dfp.c:113 with -O -g and ↵Jakub Jelinek4-3/+50
decimal float) PR debug/48928 * dfp.c (decimal_to_decnumber): Handle conversion from dconst{1,2,m1,half}. * gcc.dg/dfp/pr48928.c: New test. From-SVN: r173606
2011-05-10Daily bump.GCC Administrator1-1/+1
From-SVN: r173604