Olivier Hainque [Tue, 7 Jul 2009 06:53:56 +0000 (06:53 +0000)]
t-osf4 (SHLIB_LINK): Do not hide the dummy weak pthread symbols.
* config/alpha/t-osf4 (SHLIB_LINK): Do not hide the dummy weak
pthread symbols.
From-SVN: r149314
Basile Starynkevitch [Tue, 7 Jul 2009 06:07:59 +0000 (06:07 +0000)]
Makefile.in: added more lists of includes to PLUGIN_HEADERS.
2009-07-07 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/Makefile.in: added more lists of includes to PLUGIN_HEADERS.
From-SVN: r149313
Manuel López-Ibáñez [Tue, 7 Jul 2009 02:55:59 +0000 (02:55 +0000)]
cgraphunit.c: Replace %J by an explicit location.
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* cgraphunit.c: Replace %J by an explicit location. Update all
calls.
* c-decl.c: Likewise.
* function.c: Likewise.
* varasm.c: Likewise.
* tree-ssa.c: Likewise.
* c-common.c: Likewise.
* tree-cfg.c: Likewise.
* config/spu/spu.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/v850/v850.c: Likewise.
java/
* class.c: Replace %J by an explicit location. Update all calls.
objc/
* objc-act.c: Replace %J by an explicit location. Update all
calls.
cp/
* init.c: Replace %J by an explicit location. Update all calls.
* decl.c: Likewise.
* typeck2.c: Likewise.
* pt.c: Likewise.
* name-lookup.c: Likewise.
From-SVN: r149312
DJ Delorie [Tue, 7 Jul 2009 02:33:47 +0000 (22:33 -0400)]
mep-core.cpu (fsft, ssarb): Mark as VOLATILE.
* config/mep/mep-core.cpu (fsft, ssarb): Mark as VOLATILE.
* config/mep/mep-ivc2.cpu (many): Add VOLATILE to more insns that make
unspecified accesses to control registers.
* config/mep/intrinsics.md: Regenerate.
* config/mep/intrinsics.h: Regenerate.
* config/mep/mep-intrin.h: Regenerate.
From-SVN: r149311
Manuel López-Ibáñez [Tue, 7 Jul 2009 02:10:19 +0000 (02:10 +0000)]
c-lex.c: Replace %H by an explicit location.
2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-lex.c: Replace %H by an explicit location. Update all calls.
* c-common.c: Likewise.
* c-decl.c: Likewise.
* c-typeck.c: Likewise.
* fold-const.c: Likewise.
* gimplify.c: Likewise.
* stmt.c: Likewise.
* tree-cfg.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-vrp.c: Likewise.
* value-prof.c: Likewise.
java/
* jcf-parse.c: Replace %H by an explicit location. Update all calls.
objc/
* objc-act.c: Replace %H by an explicit location. Update all calls.
testsuite/
* gcc.dg/plugin/selfassign.c: Replace %H by an explicit
location. Update all calls.
* g++.dg/plugin/selfassign.c: Likewise.
From-SVN: r149310
GCC Administrator [Tue, 7 Jul 2009 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149307
Benjamin Kosnik [Mon, 6 Jul 2009 22:44:58 +0000 (22:44 +0000)]
3.cc: Add copyright.
2009-07-06 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/21_strings/c_strings/wchar_t/3.cc: Add copyright.
* testsuite/21_strings/c_strings/char/3.cc: Same.
From-SVN: r149300
Jason Merrill [Mon, 6 Jul 2009 22:13:51 +0000 (18:13 -0400)]
vmi_class_type_info.cc (__do_dyncast): Use src2dst hint to defer searching bases that don't overlap the desired address.
* libsupc++/vmi_class_type_info.cc (__do_dyncast): Use src2dst hint
to defer searching bases that don't overlap the desired address.
From-SVN: r149297
Ian Lance Taylor [Mon, 6 Jul 2009 18:06:55 +0000 (18:06 +0000)]
configure.ac: Add missing comma in AC_ARG_WITH(boot-libs).
* configure.ac: Add missing comma in AC_ARG_WITH(boot-libs).
* configure: Rebuild.
From-SVN: r149292
Diego Novillo [Mon, 6 Jul 2009 17:07:32 +0000 (13:07 -0400)]
tree-dfa.c (dump_variable): Write DECL_INITIAL for VAR if it has one.
* tree-dfa.c (dump_variable): Write DECL_INITIAL for VAR
if it has one. Handle cases where VAR does not have an
annotation or cfun is NULL.
From-SVN: r149291
Diego Novillo [Mon, 6 Jul 2009 17:06:26 +0000 (13:06 -0400)]
tree.c: Include debug.h.
* tree.c: Include debug.h.
(initialize_tree_contains_struct): New.
(init_ttree): Call it.
(tree_node_structure_for_code): Factor out of ...
(tree_node_structure): ... here.
* treestruct.def (TS_PHI_NODE): Remove.
(TS_GIMPLE_STATEMENT): Remove.
From-SVN: r149290
Diego Novillo [Mon, 6 Jul 2009 17:04:34 +0000 (13:04 -0400)]
tree-pretty-print.c (dump_generic_node): Protect against NULL op0.
* tree-pretty-print.c (dump_generic_node): Protect
against NULL op0.
(debug_tree_chain): Handle cycles.
From-SVN: r149289
Nathan Froyd [Mon, 6 Jul 2009 15:15:53 +0000 (15:15 +0000)]
* lib/target-supports.exp
(check_effective_target_mips_newabi_large_long_double): New.
* gcc.target/mips/fpr-moves-5.c: Require mips_newabi_large_long_double
target.
* gcc.target/mips/fpr-moves-6.c: Likewise.
From-SVN: r149286
Olivier Hainque [Mon, 6 Jul 2009 14:33:11 +0000 (14:33 +0000)]
trans.c (Handled_Sequence_Of_Statements_to_gnu, [...]): Attach the exception propagation reraise fallback to the sequence end label...
* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu,
setjmp_longjmp): Attach the exception propagation reraise fallback
to the sequence end label location when we have it.
From-SVN: r149285
Nick Clifton [Mon, 6 Jul 2009 13:55:09 +0000 (13:55 +0000)]
lib1funcs.h (FMOVD_WORKS): Only define if __FMOVD_ENABLED__ is defined.
* config.sh/lib1funcs.h (FMOVD_WORKS): Only define if
__FMOVD_ENABLED__ is defined.
* config/sh/sh.h
(TARGET_FMOVD): Provide a default definition.
(MASK_FMOVD): Likewise.
(TARGET_CPU_CPP_BUILTINS): Define
__FMOVD_ENABLED__ if TARGET_FMOVD is true.
* config/sh/sh.md (movdf_i4): For alternative 0 use either one or
two fmov instructions depending upon whether TARGET_FMOVD is
enabled.
(split for DF load from memory into register): Also handle
MEMs which consist of REG+DISP addressing.
(split for DF store from register to memory): Likewise.
(movsf_ie): Always use single fp_mode.
* config/sh/sh.c (sh_override_options): Do not automatically
enable TARGET_MOVD for the SH2A when supporting doubles - leave
that to the -mfmovd command line switch.
(broken_move): Do not restrict fldi test to only the SH4 and SH4A.
(fldi_ok): Always allow.
* config/sh/sh.opt (mfmovd): Remove this switch.
* doc/invoke.texi (-mfmovd): Remove documentation of this switch.
Co-Authored-By: DJ Delorie <dj@redhat.com>
From-SVN: r149283
J"orn Rennecke [Mon, 6 Jul 2009 13:28:22 +0000 (13:28 +0000)]
re PR rtl-optimization/30807 (postreload bug (might be generic in trunk))
PR rtl-optimization/30807
* postreload.c (reload_combine): For every new use of REG_SUM,
record the use of BASE.
Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
From-SVN: r149282
Jan Hubicka [Mon, 6 Jul 2009 09:37:01 +0000 (11:37 +0200)]
* params.def: Revert my accidental commit at 2009-06-30.
From-SVN: r149279
Manuel López-Ibáñez [Mon, 6 Jul 2009 09:09:47 +0000 (09:09 +0000)]
decl.c: Replace %H by an explicit location.
2009-07-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
cp/
* decl.c: Replace %H by an explicit location. Update all calls.
* except.c: Likewise.
* semantics.c: Likewise.
* parser.c: Likewise.
From-SVN: r149277
Simon Martin [Mon, 6 Jul 2009 04:55:20 +0000 (04:55 +0000)]
re PR c++/40557 (ICE with template union)
gcc/cp/
2009-07-06 Simon Martin <simartin@users.sourceforge.net>
PR c++/40557
* pt.c (perform_typedefs_access_check, get_types_needing_access_check,
append_type_to_template_for_access_check_1): Use
RECORD_OR_UNION_CODE_P.
gcc/testsuite/
2009-07-06 Simon Martin <simartin@users.sourceforge.net>
PR c++/40557
* g++.dg/template/union2.C: New test.
From-SVN: r149276
GCC Administrator [Mon, 6 Jul 2009 00:16:43 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149268
Paul Thomas [Sun, 5 Jul 2009 19:13:59 +0000 (19:13 +0000)]
re PR fortran/40646 ([F03] array-valued procedure pointer components)
2009-07-05 Paul Thomas <pault@gcc.gnu.org>
and Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/40646
* gfortran.h : Change the compcall member of the 'value' union
in the gfc_expr structure so that its fields overlap with the
'function' member.
* resolve.c (resolve_compcall): Set the function.esym.
* trans-expr.c (gfc_trans_arrayfunc_assign): Use
is_proc_ptr_comp in the condition.
* dependency.c (gfc_full_array_ref_p): Ensure that 'contiguous'
retunrs a value if non-NULL.
2009-07-05 Paul Thomas <pault@gcc.gnu.org>
and Tobias Burnus <burnus@gcc.gnu.org>
PR fortran/40646
* gfortran.dg/func_assign_3.f90 : New test.
From-SVN: r149262
Joseph Myers [Sun, 5 Jul 2009 17:59:29 +0000 (18:59 +0100)]
*
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoi.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stol.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stold.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoll.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoul.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stoull.cc,
testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc,
testsuite/ext/vstring/element_access/char/front_back.cc,
testsuite/ext/vstring/element_access/wchar_t/front_back.cc,
testsuite/ext/vstring/init-list.cc,
testsuite/ext/vstring/moveable.cc,
testsuite/ext/vstring/requirements/citerators.cc,
testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/1.cc,
testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/1.cc:
Use dg-require-string-conversions.
From-SVN: r149260
Jason Merrill [Sun, 5 Jul 2009 02:09:15 +0000 (22:09 -0400)]
pt.c (retrieve_specialization): Don't get confused by a using-declaration that brings in another instance of...
* pt.c (retrieve_specialization): Don't get confused by a
using-declaration that brings in another instance of this template
from a base class.
* ptree.c (cxx_print_type): Fix logic.
From-SVN: r149247
GCC Administrator [Sun, 5 Jul 2009 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149246
Ian Lance Taylor [Sat, 4 Jul 2009 22:52:57 +0000 (22:52 +0000)]
re PR target/40636 (Build failed with --enable-build-with-cxx (mingw32 target))
PR target/40636
* config/i386/msformat-c.c (mingw_format_attributes): Declare as
EXPORTED_CONST.
(mingw_format_attribute_overrides): Likewise.
From-SVN: r149243
Francois-Xavier Coudert [Sat, 4 Jul 2009 21:31:17 +0000 (21:31 +0000)]
inclhack.def (darwin_stdint_5, [...]): New fixes.
* inclhack.def (darwin_stdint_5, darwin_stdint_6,
darwin_stdint_7): New fixes.
* fixincl.x: Regenerate.
* tests/base/stdint.h: Adjust test for new fixes.
From-SVN: r149242
Eric Botcazou [Sat, 4 Jul 2009 20:22:39 +0000 (20:22 +0000)]
Fix nits
From-SVN: r149241
Jason Merrill [Sat, 4 Jul 2009 17:48:02 +0000 (13:48 -0400)]
* cp-tree.h (LANG_DECL_FN_CHECK): Fix non-checking version.
From-SVN: r149239
Francois-Xavier Coudert [Sat, 4 Jul 2009 17:28:32 +0000 (17:28 +0000)]
re PR ada/40608 (Ada build fails)
PR ada/40608
* init.c (APPLE): Include <mach/mach_init.h>.
(__gnat_is_stack_guard, APPLE): Add ATTRIBUTE_UNUSED marker.
From-SVN: r149238
Jakub Jelinek [Sat, 4 Jul 2009 17:20:46 +0000 (19:20 +0200)]
trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): For integer maxloc initialize limit to -huge-1 rather than just -huge.
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): For integer
maxloc initialize limit to -huge-1 rather than just -huge.
* gfortran.dg/maxloc_1.f90: New test.
From-SVN: r149236
Jakub Jelinek [Sat, 4 Jul 2009 17:19:26 +0000 (19:19 +0200)]
re PR debug/40596 (Bad debug info for local variables on i386.)
PR debug/40596
* dwarf2out.c (based_loc_descr): For crtl->stack_realign_tried
don't check cfa.reg. Instead of cfa.indirect use
fde && fde->drap_reg != INVALID_REGNUM test.
From-SVN: r149235
Eric Botcazou [Sat, 4 Jul 2009 17:04:03 +0000 (17:04 +0000)]
* postreload.c (reload_combine): Replace CONST_REG with INDEX_REG.
From-SVN: r149234
Vladimir Makarov [Sat, 4 Jul 2009 13:57:11 +0000 (13:57 +0000)]
Move testsuite log into testsuite/ChangeLog
From-SVN: r149228
Janus Weil [Sat, 4 Jul 2009 12:28:43 +0000 (14:28 +0200)]
re PR fortran/40593 (Proc-pointer returning function as actual argument)
2009-07-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/40593
* interface.c (compare_actual_formal): Take care of proc-pointer-valued
functions as actual arguments.
* trans-expr.c (gfc_conv_procedure_call): Ditto.
* resolve.c (resolve_specific_f0): Use the correct ts.
2009-07-04 Janus Weil <janus@gcc.gnu.org>
PR fortran/40593
* gfortran.dg/proc_ptr_result_6.f90: New.
From-SVN: r149227
Francois-Xavier Coudert [Sat, 4 Jul 2009 11:33:17 +0000 (11:33 +0000)]
* gcc.dg/framework-2.c: Adjust testcase to pass.
From-SVN: r149226
Eric Botcazou [Sat, 4 Jul 2009 10:51:31 +0000 (10:51 +0000)]
ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
* ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite.
(SET_DECL_LANG_SPECIFIC): Likewise.
(TYPE_RM_VALUE): New macro.
(SET_TYPE_RM_VALUE): Likewise.
(TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE.
(TYPE_RM_MIN_VALUE): Likewise.
(TYPE_RM_MAX_VALUE): Likewise.
(SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE.
(SET_TYPE_RM_MIN_VALUE): Likewise.
(SET_TYPE_RM_MAX_VALUE): Likewise.
* decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Remove kludge.
From-SVN: r149225
Laurent GUERBY [Sat, 4 Jul 2009 10:11:57 +0000 (10:11 +0000)]
re PR ada/40631 (bootstrap with Ada fails on __gnat_backtrace warning on mips-linux)
2009-07-04 Laurent GUERBY <laurent@guerby.net>
PR ada/40631
* tracebak.c (__gnat_backtrace): Fix old-style definition.
From-SVN: r149224
Jason Merrill [Sat, 4 Jul 2009 04:34:03 +0000 (00:34 -0400)]
re PR c++/40619 ([c++0x] ICE on repeated decltype expression in auto functions)
PR c++/40619
* cp-tree.h (struct lang_decl_parm): New.
(struct lang_decl): Add it.
(LANG_DECL_PARM_CHECK): New.
(DECL_PARM_INDEX): New.
* decl2.c (parm_index): Remove.
* lex.c (retrofit_lang_decl): Handle parms.
(cxx_dup_lang_specific_decl): Likewise.
* mangle.c (write_expression): Adjust.
* tree.c (cp_tree_equal): Adjust.
(decl_linkage): Only check DECL_COMDAT for functions and variables.
* parser.c (cp_parser_parameter_declaration_list): Set
DECL_PARM_INDEX.
* pt.c (iterative_hash_template_arg): Hash it.
From-SVN: r149223
Jerry DeLisle [Sat, 4 Jul 2009 04:25:20 +0000 (04:25 +0000)]
re PR fortran/40638 (RTE: "Unit number in I/O statement too large" -- fails with any low value)
2009-07-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/40638
* gfortran.dg/unit_1.f90: New test.
From-SVN: r149222
Jason Merrill [Sat, 4 Jul 2009 00:43:26 +0000 (20:43 -0400)]
cp-tree.h (struct lang_decl): Overhaul.
* cp-tree.h (struct lang_decl): Overhaul.
(struct lang_decl_flags): Remove.
(struct lang_decl_base): New.
(struct lang_decl_min): New.
(struct lang_decl_fn): New.
(struct lang_decl_ns): New.
(CAN_HAVE_FULL_LANG_DECL_P): Replace with LANG_DECL_HAS_MIN.
(LANG_DECL_MIN_CHECK): New.
(LANG_DECL_FN_CHECK): New.
(LANG_DECL_NS_CHECK): New.
(STRIP_TEMPLATE): New.
(NON_THUNK_FUNCTION_CHECK): Remove.
(DECL_DECLARES_FUNCTION_P): New.
(lots): Adjust.
* lex.c (retrofit_lang_decl, cxx_dup_lang_specific_decl): Adjust.
* decl.c (push_local_name, duplicate_decls): Adjust.
* decl2.c (start_objects): Don't set u2sel.
* semantics.c (finish_omp_threadprivate): Adjust.
* class.c (build_clone): Don't do much on TEMPLATE_DECLs.
(decl_cloned_function_p): Out-of-line implementation of macros.
(clone_function_decl, adjust_clone_args): Use DECL_CLONED_FUNCTION_P.
* mangle.c (write_unqualified_name): Don't check function flags
on non-functions.
* method.c (make_alias_for): Don't set DECL_CLONED_FUNCTION.
* pt.c (build_template_decl): Don't set function flags.
(check_default_tmpl_args): Check that it's a function.
(instantiate_template): Use DECL_ABSTRACT_ORIGIN to find the
cloned template.
* pt.c (tsubst_decl) [FUNCTION_DECL]: Don't tsubst
DECL_CLONED_FUNCTION.
* cp-tree.h (struct lang_type_class): Move sorted_fields here.
* class.c (finish_struct_1): Adjust.
* ptree.c (cxx_print_decl, cxx_print_type): Adjust.
* search.c (lookup_field_1): Adjust.
* cp-tree.h (CLASSTYPE_INLINE_FRIENDS): Remove.
* decl.c (finish_method): Don't add to it.
* class.c (fixup_pending_inline): Remove.
(fixup_inline_methods): Remove.
(finish_struct_1): Don't call it.
* error.c (dump_function_name): Handle null name.
From-SVN: r149217
GCC Administrator [Sat, 4 Jul 2009 00:16:32 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149216
Vladimir Makarov [Fri, 3 Jul 2009 22:36:31 +0000 (22:36 +0000)]
re PR target/40587 (Revision 139590 caused ICE in emit_swap_insn at reg-stack.c:827)
2009-07-03 Vladimir Makarov <vmakarov@redhat.com>
PR target/40587
* ira.c (build_insn_chain): Use DF_LR_OUT instead of
df_get_live_out.
* testsuite/gfortran.dg/pr40587.f: New test.
From-SVN: r149212
Richard Guenther [Fri, 3 Jul 2009 22:09:12 +0000 (22:09 +0000)]
re PR tree-optimization/40640 (ICE in set_value_range, at tree-vrp.c:383)
2009-07-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40640
* tree-switch-conversion.c (build_arrays): Perform arithmetic
in original type.
* gcc.c-torture/compile/pr40640.c: New testcase.
From-SVN: r149211
Jan Hubicka [Fri, 3 Jul 2009 20:28:14 +0000 (22:28 +0200)]
ipa-inline.c (cgraph_decide_inlining_incrementally): When optimizing for size, reduce amount of inlining.
* ipa-inline.c (cgraph_decide_inlining_incrementally): When optimizing
for size, reduce amount of inlining.
From-SVN: r149210
Eric Botcazou [Fri, 3 Jul 2009 20:27:05 +0000 (20:27 +0000)]
inclhack.def (solaris_int_types): New fix.
* inclhack.def (solaris_int_types): New fix.
* fixincl.x: Regenerate.
* tests/base/sys/int_types.h: New file.
From-SVN: r149209
Richard Guenther [Fri, 3 Jul 2009 14:11:14 +0000 (14:11 +0000)]
re PR middle-end/34163 (10% performance regression since Nov 1 on Polyhedron's "NF" on AMD64)
2009-07-03 Richard Guenther <rguenther@suse.de>
PR middle-end/34163
* tree-chrec.c (chrec_convert_1): Fold (T2)(t +- x) to
(T2)t +- (T2)x if t +- x is known to not overflow and
the conversion widens the operation.
* Makefile.in (tree-chrec.o): Add $(FLAGS_H) dependency.
* gfortran.dg/pr34163.f90: New testcase.
From-SVN: r149207
Jan Hubicka [Fri, 3 Jul 2009 13:18:28 +0000 (15:18 +0200)]
loop-24.c: Update dump file matching; enable -O2.
* gcc.dg/tree-ssa/loop-24.c: Update dump file matching; enable -O2.
* gcc.dg/tree-ssa/loop-25.c: Likewise.
* gcc.dg/tree-ssa/loop-26.c: Likewise.
* gcc.dg/tree-ssa/pr32044.c: Likewise.
* gcc.dg/tree-ssa/loop-29.c: Likewise.
* gcc.dg/tree-ssa/loop-10.c: Likewise.
* gnat.dg/loop_optimization6.adb: Enable -O2.
* ipa-pure-const.c (analyze): Update loop optimizer init.
* tree-ssa-loop-iv-canon.c (empty_loop_p, remove_empty_loop,
try_remove_empty_loop, remove_empty_loops): Remove.
* tree-ssa-loop.c (tree_ssa_empty_loop, pass_empty_loop): Remove.
* tree-ssa-dce.c (find_obviously_necessary_stmts): Use finiteness info
to mark regular loops as neccesary.
(degenerate_phi_p): New function.
(propagate_necessity, remove_dead_phis): Use it.
(forward_edge_to_pdom): Likewise.
(eliminate_unnecessary_stmts): Take care to remove uses of results of
virtual PHI nodes that became unreachable.
(perform_tree_ssa_dce): Initialize/deinitialize loop optimizer.
* tree-flow.h (remove_empty_loops): Remove.
* passes.c (init_optimization_passes): Remove.
From-SVN: r149206
Uros Bizjak [Fri, 3 Jul 2009 11:30:51 +0000 (13:30 +0200)]
i386.md (fix_trunc<mode>_fisttp_i387_1): Use can_create_pseudo_p.
* config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1): Use
can_create_pseudo_p.
(*fix_trunc<mode>_i387_1): Ditto.
(*floathi<mode>2_1): Ditto.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_1): Ditto.
(*fistdi2_1): Ditto.
(*fist<mode>2_1): Ditto.
(frndintxf2_floor): Ditto.
(*fist<mode>2_floor_1): Ditto.
(frndintxf2_ceil): Ditto.
(*fist<mode>2_ceil_1): Ditto.
(frndintxf2_trunc): Ditto.
(frndintxf2_mask_pm): Ditto.
(fxam<mode>2_i387_with_temp): Ditto.
* config/i386/sse.md (mulv16qi3): Ditto.
(*sse2_mulv4si3): Ditto.
(mulv2di3): Ditto.
(sse4_2_pcmpestr): Ditto.
(sse4_2_pcmpistr): Ditto.
From-SVN: r149205
GCC Administrator [Fri, 3 Jul 2009 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149204
Jan Hubicka [Thu, 2 Jul 2009 22:56:21 +0000 (00:56 +0200)]
tree-ssa-dce.c (bb_contains_live_stmts): New bitmap.
* tree-ssa-dce.c (bb_contains_live_stmts): New bitmap.
(mark_stmt_necessary): Set it.
(mark_operand_necessary): Set it.
(mark_control_dependent_edges_necessary): Set it.
(mark_virtual_phi_result_for_renaming): New function.
(get_live_post_dom): New function.
(forward_edge_to_pdom): New function.
(remove_dead_stmt): Fix handling of control dependences.
(tree_dce_init): Init new bitmap.
(tree_dce_done): Free it.
From-SVN: r149199
Richard Sandiford [Thu, 2 Jul 2009 20:55:23 +0000 (20:55 +0000)]
libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS options when choosing a multilib.
libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
options when choosing a multilib.
From-SVN: r149195
Mark Mitchell [Thu, 2 Jul 2009 17:52:37 +0000 (17:52 +0000)]
typeck.c (cp_build_binary_op): Move warnings about use of NULL in arithmetic earlier and allow comparisions of...
2009-07-02 Mark Mitchell <mark@codesourcery.com>
* typeck.c (cp_build_binary_op): Move warnings about use of NULL
in arithmetic earlier and allow comparisions of NULL with
pointers-to-members.
2009-07-02 Mark Mitchell <mark@codesourcery.com>
* g++.dg/warn/null4.C: Extend.
From-SVN: r149190
Jason Merrill [Thu, 2 Jul 2009 17:28:07 +0000 (13:28 -0400)]
Use hash tables for template specialization lookup.
* pt.c (struct spec_entry): New type.
(decl_specializations, type_specializations): New hash tables.
(register_specialization, retrieve_specialization): Use them.
(reregister_specialization, lookup_template_class): Use them.
(eq_specializations, hash_tmpl_and_args, hash_specialization): New.
(iterative_hash_template_arg): New.
(init_template_processing): New
(process_partial_specialization): Don't look to see if we already
have this partial specialization.
(maybe_process_partial_specialization): Handle reassigning
full specializations when we get an explicit specialization
of the partial instantiation.
(tsubst_friend_function): Adjust specialization reassignment code.
(instantiate_template): Only do one lookup.
(instantiate_decl): Don't do any lookup.
* cp-tree.h: Declare init_template_processing.
* decl.c (duplicate_decls): Pass args to reregister_specialization.
From-SVN: r149188
Rainer Orth [Thu, 2 Jul 2009 16:10:25 +0000 (16:10 +0000)]
* tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison.
From-SVN: r149182
Richard Guenther [Thu, 2 Jul 2009 15:50:26 +0000 (15:50 +0000)]
re PR bootstrap/40617 (Revision 149170 breaks bootstrap)
2009-07-02 Richard Guenther <rguenther@suse.de>
PR bootstrap/40617
* tree-ssa-structalias.c (new_var_info): Initialize
is_restrict_var.
From-SVN: r149179
Michael Matz [Thu, 2 Jul 2009 15:31:28 +0000 (15:31 +0000)]
re PR fortran/32131 (knowing that stride==1 when using allocated arrays and escaping allocatable arrays)
fortran/
PR fortran/32131
* trans-array.c (gfc_conv_descriptor_stride_get): Return
constant one for strides in the first dimension of ALLOCATABLE
arrays.
testsuite/
PR fortran/32131
* gfortran.dg/pr32921.f: Adjust.
From-SVN: r149178
Jan Hubicka [Thu, 2 Jul 2009 15:16:08 +0000 (17:16 +0200)]
local-pure-const.c: New testcase.
* gcc.dg/tree-ssa/local-pure-const.c: New testcase.
* ipa-pure-const.c (check_op): Use PTA info to see if indirect_ref is
local.
From-SVN: r149176
Paolo Bonzini [Thu, 2 Jul 2009 11:23:23 +0000 (11:23 +0000)]
expmed.c (emit_cstore, [...]): Accept target_mode instead of recomputing it.
2009-07-02 Paolo Bonzini <bonzini@gnu.org>
* expmed.c (emit_cstore, emit_store_flag_1): Accept target_mode
instead of recomputing it. Adjust calls.
(emit_store_flag): Adjust recursive calls.
From-SVN: r149171
Richard Guenther [Thu, 2 Jul 2009 10:18:24 +0000 (10:18 +0000)]
tree-ssa-live.c (remove_unused_locals): Do not remove heap variables.
2009-07-02 Richard Guenther <rguenther@suse.de>
* tree-ssa-live.c (remove_unused_locals): Do not remove
heap variables.
* tree-ssa-structalias.c (handle_lhs_call): Delay setting
of DECL_EXTERNAL for HEAP variables.
(compute_points_to_sets): Set DECL_EXTERNAL for escaped
HEAP variables. Do not adjust RESTRICT vars.
(find_what_var_points_to): Nobody cares if something
points to READONLY.
From-SVN: r149170
Nick Clifton [Thu, 2 Jul 2009 07:20:22 +0000 (07:20 +0000)]
remove sanitzation leakage
From-SVN: r149169
Ben Elliston [Thu, 2 Jul 2009 04:50:20 +0000 (04:50 +0000)]
unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Move pc_low and pc_high declarations to the top of the function.
* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Move
pc_low and pc_high declarations to the top of the function.
From-SVN: r149167
Jason Merrill [Thu, 2 Jul 2009 03:51:04 +0000 (23:51 -0400)]
* cp-tree.h (DECL_CLASS_TEMPLATE_P): Use DECL_IMPLICIT_TYPEDEF_P.
From-SVN: r149166
Jason Merrill [Thu, 2 Jul 2009 03:50:57 +0000 (23:50 -0400)]
pt.c (register_specialization): Use duplicate_decls to merge the argument with a previous specialization.
* pt.c (register_specialization): Use duplicate_decls to merge
the argument with a previous specialization.
(check_explicit_specialization): Call register_specialization to
merge the TEMPLATE_DECL with a previous version.
(determine_specialization): Return the args even if fn is a template.
From-SVN: r149165
DJ Delorie [Thu, 2 Jul 2009 02:16:32 +0000 (22:16 -0400)]
mep.c (mep_handle_option): Leave IVC2 control registers as fixed.
* config/mep/mep.c (mep_handle_option): Leave IVC2 control
registers as fixed.
(mep_interrupt_saved_reg): Save appropriate IVC2 control
registers.
* config/mep/mep-ivc2.cpu: Add VOLATILE to insns that make
unspecified accesses to control registers.
* config/mep/intrinsics.md: Regenerate.
* config/mep/intrinsics.h: Regenerate.
* config/mep/mep-intrin.h: Regenerate.
From-SVN: r149164
Anthony Green [Thu, 2 Jul 2009 01:18:42 +0000 (01:18 +0000)]
Tweak moxie prologue and epilogue code.
From-SVN: r149163
GCC Administrator [Thu, 2 Jul 2009 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149162
Richard Henderson [Wed, 1 Jul 2009 23:21:17 +0000 (16:21 -0700)]
re PR bootstrap/40347 (i386-darwin ICEs while building libgcc during stage2)
PR bootstrap/40347
* function.c (reposition_prologue_and_epilogue_notes): If epilogue
contained no insns, reposition note before last insn.
From-SVN: r149158
Richard Henderson [Wed, 1 Jul 2009 23:16:06 +0000 (16:16 -0700)]
re PR debug/40431 (ICE in div_data_align, at dwarf2out.c:533 while configuring sparcv9 libgcc)
PR debug/40431
* dwarf2out.c (def_cfa_1): Revert 2009-06-11 change for
DW_CFA_def_cfa_offset and DW_CFA_def_cfa.
From-SVN: r149157
Michael Meissner [Wed, 1 Jul 2009 22:34:26 +0000 (22:34 +0000)]
Fix PR 40558, undo part of June 25th patch
Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Revital Eres <eres@il.ibm.com>
From-SVN: r149155
Adam Nemet [Wed, 1 Jul 2009 21:34:58 +0000 (21:34 +0000)]
combine.c (force_to_mode): Handle TRUNCATE.
* combine.c (force_to_mode): Handle TRUNCATE. Factor out
truncation from operands in binary operations.
testsuite/
* gcc.target/mips/truncate-4.c: New testcase.
From-SVN: r149154
Adam Nemet [Wed, 1 Jul 2009 21:22:28 +0000 (21:22 +0000)]
revert: expmed.c (store_bit_field_1): Properly truncate the paradoxical subreg of op0 to the original op0.
Revert:
2009-01-11 Adam Nemet <anemet@caviumnetworks.com>
* expmed.c (store_bit_field_1): Properly truncate the paradoxical
subreg of op0 to the original op0.
* expmed.c (store_bit_field_1): Use a temporary as the destination
instead of a paradoxical subreg when we need to truncate the result.
From-SVN: r149153
Eric Botcazou [Wed, 1 Jul 2009 20:20:25 +0000 (20:20 +0000)]
Fix nits
From-SVN: r149152
DJ Delorie [Wed, 1 Jul 2009 20:07:41 +0000 (16:07 -0400)]
mep-ivc2.cpu (cmov, [...]): Add intrinsic names to VLIW variants.
* config/mep/mep-ivc2.cpu (cmov, cmovc, cmovh): Add intrinsic names to VLIW variants.
(ivc2rm, ivc2crn): Make data type consistent with non-VLIW variants.
* config/mep/intrinsics.md: Regenerate.
* config/mep/intrinsics.h: Regenerate.
* config/mep/mep-intrin.h: Regenerate.
From-SVN: r149151
Jakub Jelinek [Wed, 1 Jul 2009 19:25:52 +0000 (21:25 +0200)]
re PR debug/40462 (ICE in dwarf2out_begin_epilogue, at dwarf2out.c:2773 while compiling mlib-tgt.adb)
PR debug/40462
* jump.c (returnjump_p): Revert last patch.
* dwarf2out.c (dwarf2out_begin_epilogue): Handle SEQUENCEs.
From-SVN: r149150
Richard Sandiford [Wed, 1 Jul 2009 19:15:33 +0000 (19:15 +0000)]
libffi-dg.exp (libffi-init): Set ld_library_path to "" before adding paths.
libffi/
* testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
to "" before adding paths. (This reinstates an assignment that
was removed by my 2009-06-30 commit, but changes the initial
value from "." to "".)
From-SVN: r149149
Jakub Jelinek [Wed, 1 Jul 2009 19:13:03 +0000 (21:13 +0200)]
HTML_401F.java (defineElements): Split this huge method into...
* gnu/javax/swing/text/html/parser/HTML_401F.java (defineElements):
Split this huge method into...
(defineElements1, defineElements2, defineElements3, defineElements4,
defineElements5, defineElements6): ... these smaller methods.
From-SVN: r149148
Ian Lance Taylor [Wed, 1 Jul 2009 18:46:09 +0000 (18:46 +0000)]
* g++spec.c (lang_specific_driver): Bump num_args by 1.
From-SVN: r149147
John David Anglin [Wed, 1 Jul 2009 18:10:45 +0000 (18:10 +0000)]
re PR ada/40609 (Ada build fails)
PR ada/40609
init.c (__gnat_error_handler): Add ATTRIBUTE_UNUSED to ucontext
argument.
From-SVN: r149146
H.J. Lu [Wed, 1 Jul 2009 17:07:31 +0000 (17:07 +0000)]
re PR testsuite/40601 (Errors in "make check")
2009-07-01 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/40601
* testsuite/lib/libffi-dg.exp (libffi-init): Properly set
gccdir. Adjust ld_library_path for gcc only if gccdir isn't
empty.
From-SVN: r149145
John David Anglin [Wed, 1 Jul 2009 16:53:26 +0000 (16:53 +0000)]
re PR target/40575 (FAIL: gcc.dg/falign-labels-1.c execution test)
PR target/40575
* pa.md (casesi32p): Use jump table label to determine the offset
of the jump table.
(casesi64p): Likewise.
From-SVN: r149144
John David Anglin [Wed, 1 Jul 2009 15:47:33 +0000 (15:47 +0000)]
pa.c (forward_branch_p): Return bool type.
* pa.c (forward_branch_p): Return bool type. Use instruction addresses
when available. Assert that INSN has a jump label.
(pa_adjust_insn_length): Don't call forward_branch_p if INSN doesn't
have a jump label.
From-SVN: r149141
Richard Guenther [Wed, 1 Jul 2009 12:27:33 +0000 (12:27 +0000)]
re PR tree-optimization/19831 (Missing DSE/malloc/free optimization)
2009-07-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/19831
* tree-ssa-dce.c (propagate_necessity): Calls to functions
that only act as barriers do not make any previous stores
necessary.
* tree-ssa-structalias.c (handle_lhs_call): Delay making
HEAP variables global, do not add a constraint from nonlocal.
(find_func_aliases): Handle escapes through return statements.
(compute_points_to_sets): Make escaped HEAP variables global.
* gcc.dg/tree-ssa/
20041122-1.c: Enable TBAA, scan FRE dump,
make allocated memory escape. Un-XFAIL.
* gcc.dg/vect/pr21591.c: Make allocated memory escape.
* gcc.dg/vect/pr31699.c: Likewise.
* gcc.dg/tree-ssa/ssa-dce-7.c: New testcase.
libmudflap/
* testsuite/libmudflap.c/fail11-frag.c: Make allocated memory
escape.
* testsuite/libmudflap.c/fail12-frag.c: Likewise.
* testsuite/libmudflap.c/fail16-frag.c: Likewise.
* testsuite/libmudflap.c/fail31-frag.c: Likewise.
From-SVN: r149140
Tobias Grosser [Wed, 1 Jul 2009 12:13:57 +0000 (12:13 +0000)]
MAINTAINERS: Move myself to the Graphite Reviewers.
2009-07-01 Tobias Grosser <grosser@fim.uni-passau.de>
* MAINTAINERS: Move myself to the Graphite Reviewers.
From-SVN: r149138
Paolo Bonzini [Wed, 1 Jul 2009 12:05:56 +0000 (12:05 +0000)]
re PR bootstrap/40597 (Powerpc bootstrap is broken due to changes in expmed.c)
2009-07-01 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/40597
* expmed.c (emit_store_flag): Perform a conversion if necessary,
after reducing a DImode cstore to SImode.
From-SVN: r149137
Paolo Bonzini [Wed, 1 Jul 2009 11:50:12 +0000 (11:50 +0000)]
expr.c (expand_expr_real_1): Reinstate fallthrough to TRUTH_ANDIF_EXPR if do_store_flag returns NULL.
2009-07-01 Paolo Bonzini <bonzini@gnu.org>
* expr.c (expand_expr_real_1): Reinstate fallthrough to
TRUTH_ANDIF_EXPR if do_store_flag returns NULL.
From-SVN: r149136
Eric Botcazou [Wed, 1 Jul 2009 09:08:27 +0000 (09:08 +0000)]
* init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker.
From-SVN: r149135
Maciej W. Rozycki [Wed, 1 Jul 2009 01:23:54 +0000 (01:23 +0000)]
vax.h (TARGET_BSD_DIVMOD): New macro.
* config/vax/vax.h (TARGET_BSD_DIVMOD): New macro. Set to 1.
* config/vax/linux.h (TARGET_BSD_DIVMOD): New macro. Redefine the
to 0.
* config/vax/vax.c (vax_init_libfuncs): Only redefine udiv_optab
and umod_optab if TARGET_BSD_DIVMOD.
* config/vax/lib1funcs.asm: New file.
* config/vax/t-linux: New file.
* config.gcc (vax-*-linux*): Set tmake_file to vax/t-linux.
From-SVN: r149128
GCC Administrator [Wed, 1 Jul 2009 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r149126
Jakub Jelinek [Tue, 30 Jun 2009 22:04:36 +0000 (00:04 +0200)]
re PR c++/40566 (rejects promoted throw)
PR c++/40566
* convert.c (convert_to_integer) <case COND_EXPR>: Don't convert
to type arguments that have void type.
* g++.dg/parse/cond5.C: New test.
From-SVN: r149121
Jakub Jelinek [Tue, 30 Jun 2009 22:03:27 +0000 (00:03 +0200)]
re PR debug/40573 (DWARF for inlined subroutines refers to the outlined copy)
PR debug/40573
* dwarf2out.c (gen_formal_parameter_die): Call
equate_decl_number_to_die if node is different from origin.
From-SVN: r149120
Nathan Froyd [Tue, 30 Jun 2009 21:10:14 +0000 (21:10 +0000)]
gen-vect-25.c (n): New variable.
* gcc.dg/tree-ssa/gen-vect-25.c (n): New variable.
(main): Pass n to main_1 instead.
* gcc.dg/tree-ssa/gen-vect-28.c (off): New variable.
(main_1): New function, split off from...
(main): ...here. Pass `off' to main_1 instead.
From-SVN: r149119
Jason Merrill [Tue, 30 Jun 2009 19:36:36 +0000 (15:36 -0400)]
re PR c++/40595 ([C++0x] ICE trying to use sfinae with variadic template pack expansion)
PR c++/40595
* pt.c (tsubst_pack_expansion): Handle unexpanded packs in an
EXPR_PACK_EXPANSION.
From-SVN: r149117
Eric Botcazou [Tue, 30 Jun 2009 19:20:24 +0000 (19:20 +0000)]
utils2.c (build_binary_op): Do not use the type of the left operand if...
* gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Do not use
the type of the left operand if it pads a self-referential type when
the right operand is a constructor.
* gcc-interface/lang-specs.h: Fix copyright date.
From-SVN: r149115
Anthony Green [Tue, 30 Jun 2009 18:59:41 +0000 (18:59 +0000)]
Enable building with g++.
From-SVN: r149114
Richard Sandiford [Tue, 30 Jun 2009 18:37:57 +0000 (18:37 +0000)]
gcc-defs.exp (gcc-set-multilib-library-path): Delete.
gcc/testsuite/
* lib/gcc-defs.exp (gcc-set-multilib-library-path): Delete.
* lib/target-libpath.exp (ld_library_path_vars): New variable.
(init_ld_library_path_env_vars): New function, replacing the
orig_*_saved assignments. Call it after defining it.
(set_ld_library_path_env_vars): Rewrite to use ld_library_path_vars.
(restore_ld_library_path_env_vars): Likewise.
(add_path, find_libgcc_s): New functions.
* lib/objc.exp (objc_init): Use find_libgcc_s instead of
gcc-set-multilib-library-path.
(objc_target_compile): Don't add "." to ld_library_path.
Use add_path.
* lib/gfortran.exp (gfortran_link_flags): Don't add "." to
ld_library_path. Use add_path. Use find_libgcc_s instead of
gcc-set-multilib-library-path.
* lib/g++.exp (g++_link_flags): Likewise.
* lib/obj-c++.exp (obj-c++_link_flags): Likewise.
* lib/c-torture.exp: Do not manipulate ld_library_path at the
top level; do it...
(c-torture-execute): ...here instead. Use $ld_library_path_multilib
to tell when this needs to happen. Use find_libgcc_s instead of
gcc-set-multilib-library-path.
* lib/gcc-dg.exp: Likewise.
* lib/gnat.exp (gnat_target_compile): Don't add "." to ld_library_path.
* g++.dg/compat/compat.exp (alt_ld_library_path): Don't add "."
unless it is in $ALT_LD_LIBRARY_PATH.
* g++.dg/compat/struct-layout-1.exp (alt_ld_library_path): Likewise.
libffi/
* testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
to ld_library_path. Use add_path. Add just find_libgcc_s
to ld_library_path, not every libgcc multilib directory.
libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
ld_library_path. Use add_path. Add just find_libgcc_s to
ld_library_path, not every libgcc multilib directory.
* testsuite/libgomp.c/c.exp (ld_library_path): Don't call
gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
* testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
Use add_path.
* testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
libjava/
* testsuite/lib/libjava.exp (libjava_init): Just add
find_libgcc_s to libjava_libgcc_s_path, rather than every
libgcc multilib directory.
(libjava_arguments): Explain why we add "." to ld_library_path.
(gcj_invoke, exec_gij, libjava_invoke): Use add_path.
libmudflap/
* testsuite/lib/libmudflap.exp (libmudflap-init): Don't add "."
to ld_library_path. Use add_path. Add just find_libgcc_s to
ld_library_path, not every libgcc multilib directory.
libstdc++-v3/
* testsuite/lib/libstdc++.exp (libstdc++_init): Don't add "."
to ld_library_path. Use add_path. Add just find_libgcc_s to
ld_library_path, not every libgcc multilib directory.
From-SVN: r149113
Eric Botcazou [Tue, 30 Jun 2009 17:26:32 +0000 (17:26 +0000)]
cgraphunit.c (cgraph_finalize_compilation_unit): Call finalize_size_functions before further processing.
* cgraphunit.c (cgraph_finalize_compilation_unit): Call
finalize_size_functions before further processing.
* stor-layout.c: Include cgraph.h, tree-inline.h and tree-dump.h.
(variable_size): Call self_referential_size on size expressions
that contain a PLACEHOLDER_EXPR.
(size_functions): New static variable.
(copy_self_referential_tree_r): New static function.
(self_referential_size): Likewise.
(finalize_size_functions): New global function.
* tree.c: Include tree-inline.h.
(push_without_duplicates): New static function.
(find_placeholder_in_expr): New global function.
(substitute_in_expr) <tcc_declaration>: Return the replacement object
on equality.
<tcc_expression>: Likewise.
<tcc_vl_exp>: If the replacement object is a constant, try to inline
the call in the expression.
* tree.h (finalize_size_functions): Declare.
(find_placeholder_in_expr): Likewise.
(FIND_PLACEHOLDER_IN_EXPR): New macro.
(substitute_placeholder_in_expr): Update comment.
* tree-inline.c (remap_decl): Do not unshare trees if do_not_unshare
is true.
(copy_tree_body_r): Likewise.
(copy_tree_body): New static function.
(maybe_inline_call_in_expr): New global function.
* tree-inline.h (struct copy_body_data): Add do_not_unshare field.
(maybe_inline_call_in_expr): Declare.
* Makefile.in (tree.o): Depend on TREE_INLINE_H.
(stor-layout.o): Depend on CGRAPH_H, TREE_INLINE_H, TREE_DUMP_H and
GIMPLE_H.
ada/
* gcc-interface/decl.c: Include tree-inline.h.
(annotate_value) <CALL_EXPR>: Try to inline the call in the expression.
* gcc-interface/utils.c (max_size) <CALL_EXPR>: Likewise.
* gcc-interface/utils2.c: Include tree-inline.
(known_alignment) <CALL_EXPR>: Likewise.
From-SVN: r149112
Thomas Koenig [Tue, 30 Jun 2009 17:10:06 +0000 (17:10 +0000)]
re PR fortran/40576 (Endless loop in internal write)
2009-06-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40576
* gfortran.dg/internal_write_1.f90: New testcase.
From-SVN: r149109
Janus Weil [Tue, 30 Jun 2009 17:06:27 +0000 (19:06 +0200)]
re PR fortran/40594 (wrong-code)
2009-06-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/40594
* trans-types.c (gfc_get_derived_type): Bugfix, reverting one hunk from
r147206.
2009-06-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/40594
* gfortran.dg/derived_pointer_recursion_2.f90: New.
From-SVN: r149108
Richard Guenther [Tue, 30 Jun 2009 15:23:39 +0000 (15:23 +0000)]
tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Always continue walking.
2009-06-30 Richard Guenther <rguenther@suse.de>
* tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Always
continue walking.
(propagate_necessity): Do not mark reaching defs of stores
as necessary.
* gcc.dg/tree-ssa/ssa-dce-6.c: New testcase.
From-SVN: r149103
Jan Hubicka [Tue, 30 Jun 2009 14:57:54 +0000 (14:57 +0000)]
Revert accidental commit.
From-SVN: r149102