Age | Commit message (Collapse) | Author | Files | Lines |
|
From-SVN: r173692
|
|
From-SVN: r173691
|
|
From-SVN: r173686
|
|
the subsequent block.
* cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
reindent the subsequent block.
From-SVN: r173685
|
|
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
|
|
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
|
|
* semantics.c (register_constexpr_fundef): Add to hash table here.
(validate_constexpr_fundecl): Not here.
From-SVN: r173681
|
|
From-SVN: r173680
|
|
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
|
|
initializers and variadics)
PR c++/48745
* pt.c (value_dependent_expr_p): Handle CONSTRUCTOR.
From-SVN: r173678
|
|
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
|
|
From-SVN: r173672
|
|
From-SVN: r173671
|
|
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
|
|
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-11 Richard Guenther <rguenther@suse.de>
PR middle-end/48964
* gimple.c (iterative_hash_canonical_type): Fix typo.
From-SVN: r173663
|
|
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
|
|
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
|
|
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
|
|
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
|
|
-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-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
|
|
From-SVN: r173654
|
|
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
|
|
* 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-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
|
|
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
|
|
From-SVN: r173647
|
|
From-SVN: r173646
|
|
From-SVN: r173645
|
|
PR target/47755
* gcc.target/powerpc/pr47755-2.c: Require vsx_hw.
From-SVN: r173643
|
|
From-SVN: r173641
|
|
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
|
|
* 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
|
|
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
|
|
PR c++/48736
* pt.c (tsubst_copy_and_build): Handle substitution of a pack
expansion producing another expansion.
From-SVN: r173627
|
|
* 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
|
|
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
|
|
From-SVN: r173624
|
|
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
|
|
$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
|
|
From-SVN: r173621
|
|
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
|
|
../../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
|
|
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
|
|
* 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
|
|
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
|
|
(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
|
|
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
|
|
From-SVN: r173604
|