Manuel López-Ibáñez [Wed, 13 May 2009 23:17:55 +0000 (23:17 +0000)]
re PR preprocessor/36674 (#include location is offset by one row in errors from preprocessed files)
2009-05-14 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR cpp/36674
libcpp/
* directives (do_linemarker): Compensate for the increment in
location that occurs when we reach the end of line.
* files (_cpp_stack_include): Mention _cpp_find_file in the
comment.
testsuite/
* gcc.dg/cpp/pr36674.i: New.
From-SVN: r147504
Adam Nemet [Wed, 13 May 2009 21:52:56 +0000 (21:52 +0000)]
mips.md (store): Add attributes for QI and HI.
* config/mips/mips.md (store): Add attributes for QI and HI.
Update comment.
(truncdisi2, truncdihi2, truncdiqi2): Merge these into ...
(truncdi<mode>2): ... this new pattern.
From-SVN: r147503
Ben Elliston [Wed, 13 May 2009 21:46:37 +0000 (07:46 +1000)]
Correct datestamp of my most recent entry.
From-SVN: r147502
Brad Hards [Wed, 13 May 2009 21:14:49 +0000 (21:14 +0000)]
Makefile.in (TEXI_GCCINT_FILES): Add plugins.texi.
2009-05-13 Brad Hards <bradh@kde.org>
* Makefile.in (TEXI_GCCINT_FILES): Add plugins.texi.
From-SVN: r147499
Ben Elliston [Wed, 13 May 2009 20:52:00 +0000 (06:52 +1000)]
re PR middle-end/40035 (ICE when cross-compiling with -Os)
PR middle-end/40035
* dse.c (check_mem_read_rtx): Guard against width == -1.
testsuite/
* gcc.c-torture/compile/pr40035.c: New test.
From-SVN: r147498
Steven G. Kargl [Wed, 13 May 2009 20:49:13 +0000 (20:49 +0000)]
gfortran.h (gfc_code): Rename struct member expr to expr1.
2009-05-13 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.h (gfc_code): Rename struct member expr to expr1.
* openmp.c (resolve_omp_atomic): Update expr to expr1.
* interface.c (gfc_extend_assign): Ditto.
* trans-expr.c (gfc_conv_expr_reference, gfc_trans_assignment,
gfc_trans_init_assign): Ditto.
* dump-parse-tree.c (show_code_node): Ditto.
* trans-openmp.c (gfc_trans_omp_atomic): Ditto.
* trans-stmt.c ( gfc_trans_label_assign, gfc_trans_goto, gfc_trans_call,
gfc_trans_return, gfc_trans_pause, gfc_trans_stop, gfc_trans_if_1,
gfc_trans_arithmetic_if, gfc_trans_do_while, gfc_trans_integer_select,
gfc_trans_logical_select, gfc_trans_character_select
forall_make_variable_temp, check_forall_dependencies
gfc_trans_forall_1, gfc_trans_where_2, gfc_trans_where_3
gfc_trans_where, gfc_trans_allocate, gfc_trans_deallocate): Ditto.
* io.c (match_io_element, gfc_match_inquire): Ditto.
* resolve.c (resolve_typebound_call, resolve_ppc_call,
resolve_allocate_expr, resolve_allocate_deallocate, resolve_select,
resolve_transfer, resolve_where, gfc_resolve_assign_in_forall,
gfc_resolve_blocks, resolve_code, build_init_assign): Ditto.
* st.c (gfc_free_statement): Ditto.
* match.c (gfc_match_assignment, gfc_match_pointer_assignment,
match_arithmetic_if, gfc_match_if, gfc_match_elseif
gfc_match_stopcode, gfc_match_assign, gfc_match_goto,
gfc_match_nullify, match_typebound_call, gfc_match_call
gfc_match_select, match_simple_where, gfc_match_where
gfc_match_elsewhere, match_simple_forall, gfc_match_forall): Ditto.
* trans-io.c (gfc_trans_transfer): Ditto.
* parse.c (parse_where_block, parse_if_block): Ditto.
From-SVN: r147497
Kaveh R. Ghazi [Wed, 13 May 2009 20:14:54 +0000 (20:14 +0000)]
pr39543-2.c: Skip if ilp32 && pic.
* gcc.target/i386/pr39543-2.c: Skip if ilp32 && pic.
From-SVN: r147495
Michael Matz [Wed, 13 May 2009 20:14:44 +0000 (20:14 +0000)]
re PR middle-end/39976 (Big sixtrack degradation on powerpc 32/64 after revision r146817)
PR middle-end/39976
* tree-outof-ssa.c (maybe_renumber_stmts_bb): New function.
(trivially_conflicts_p): New function.
(insert_backedge_copies): Use it.
From-SVN: r147494
Janis Johnson [Wed, 13 May 2009 18:26:14 +0000 (18:26 +0000)]
c-pragma.c (enum pragma_switch_t): Prefix constants with PRAGMA_.
* c-pragma.c (enum pragma_switch_t): Prefix constants with PRAGMA_.
(handle_stdc_pragma): Use new enum constant names.
(handle_pragma_float_const_decimal64): Ditto.
From-SVN: r147492
Ian Lance Taylor [Wed, 13 May 2009 17:40:51 +0000 (17:40 +0000)]
Makefile.in (build/gencheck.o): Depend upon all-tree.def, not tree.def.
* Makefile.in (build/gencheck.o): Depend upon all-tree.def, not
tree.def.
From-SVN: r147491
Steven G. Kargl [Wed, 13 May 2009 16:17:59 +0000 (16:17 +0000)]
gfortran.h (gfc_code): Rename struct member label to label1.
2009-05-12 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.h (gfc_code): Rename struct member label to label1.
* dump-parse-tree.c (show_code_node): Update symbol.
* trans-stmt.c (gfc_trans_label_assign, gfc_trans_goto,
gfc_trans_arithmetic_if)": Ditto.
* resolve.c (gfc_resolve_blocks, resolve_code): Ditto.
* match.c (match_arithmetic_if, gfc_match_if, gfc_reference_st_label,
gfc_match_assign, gfc_match_goto): Ditto.
* parse.c (parse_do_block): Ditto.
From-SVN: r147489
Nathan Sidwell [Wed, 13 May 2009 15:10:55 +0000 (15:10 +0000)]
t-uclinux (M68K_MLIB_CPU): Check for FL_UCLINUX.
* config/m68k/t-uclinux (M68K_MLIB_CPU): Check for FL_UCLINUX.
* config/m68k/m68k-devices.def: Add FL_UCLINUX to 68020 and 54455
multilibs.
* config/m68k/m68k.h (FL_UCLINUX): Define.
From-SVN: r147478
Tobias Burnus [Wed, 13 May 2009 14:52:54 +0000 (16:52 +0200)]
re PR fortran/34153 (Debugging: Cannot set breakpoint in comment lines or "END PROGRAM")
2009-05-13 Tobias Burnus <burnus@net-b.de>
PR fortran/34153
* gfortran.h (gfc_exec_op): Add EXEC_END_PROCEDURE.
* dump-parse-tree.c (show_code_node): Use EXEC_END_PROCEDURE.
* trans.c (gfc_trans_code): Ditto.
* resolve.c (resolve_code): Ditto.
* st.c (gfc_free_statement): Ditto.
From-SVN: r147477
Jan Hubicka [Wed, 13 May 2009 13:43:32 +0000 (15:43 +0200)]
invoke.texi (-fwhole-file): Update docs.
* doc/invoke.texi (-fwhole-file): Update docs.
* options.c (gfc_post_options): -fwhole-program imply -fwhole-file.
From-SVN: r147472
Ben Elliston [Wed, 13 May 2009 00:17:09 +0000 (00:17 +0000)]
Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
* include/Makefile.am (PCHFLAGS): Remove -Winvalid-pch.
* include/Makefile.in: Likewise.
From-SVN: r147459
GCC Administrator [Wed, 13 May 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147458
Ben Elliston [Wed, 13 May 2009 00:16:08 +0000 (10:16 +1000)]
compatibility.cc (_ZTIe, [...]): Change type to const void * const.
* src/compatibility.cc (_ZTIe, _ZTIPe, _ZTIPKe): Change type to
const void * const.
From-SVN: r147455
Kaz Kojima [Tue, 12 May 2009 22:49:25 +0000 (22:49 +0000)]
sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns unless -fschedule-insns is specified.
* config/sh/sh.h (OVERRIDE_OPTIONS): Clear flag_schedule_insns
unless -fschedule-insns is specified.
From-SVN: r147454
Kaz Kojima [Tue, 12 May 2009 22:47:03 +0000 (22:47 +0000)]
re PR target/39561 (-mno-expand-cbranchdi broken)
PR target/39561
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Don't set
TARGET_EXPAND_CBRANCHDI4.
* config/sh/sh.md (cbranchdi4): Don't check TARGET_EXPAND_CBRANCHDI4.
* config/sh/sh.opt (mexpand-cbranchdi): Remove.
(cmpeqdi): Fix comment.
From-SVN: r147453
Tobias Burnus [Tue, 12 May 2009 22:42:45 +0000 (00:42 +0200)]
re PR fortran/40110 (Bind(C): gfortran rejects the questionable but formally correct INTEGER(C_CHAR))
2009-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/40110
* decl.c (gfc_match_kind_spec): Turn C kind error into a
* warning.
2009-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/40110
* gfortran.dg/bind_c_usage_18.f90: Change dg-error into
dg-warning.
* gfortran.dg/c_kind_tests_2.f03: Ditto.
* gfortran.dg/interop_params.f03: Ditto.
From-SVN: r147452
Kaz Kojima [Tue, 12 May 2009 22:41:54 +0000 (22:41 +0000)]
sh-protos.h (sh_legitimate_index_p): Declare.
* config/sh/sh-protos.h (sh_legitimate_index_p): Declare.
(sh_legitimate_address_p): Likewise.
* config/sh/sh.c (sh_legitimate_index_p): New.
(sh_legitimate_address_p): Likewise.
* config/sh/sh.h (REG_OK_FOR_BASE_P): Add STRICT parameter.
(REG_OK_FOR_INDEX_P, SUBREG_OK_FOR_INDEX_P): Likewise.
(MODE_DISP_OK_4, MODE_DISP_OK_8): Remove.
(MAYBE_BASE_REGISTER_RTX_P): New macro.
(MAYBE_INDEX_REGISTER_RTX_P): Likewise.
(BASE_REGISTER_RTX_P): Use MAYBE_BASE_REGISTER_RTX_P.
(INDEX_REGISTER_RTX_P): Use MAYBE_INDEX_REGISTER_RTX_P.
(GO_IF_LEGITIMATE_INDEX): Use sh_legitimate_index_p.
(GO_IF_LEGITIMATE_ADDRESS): Use sh_legitimate_address_p.
From-SVN: r147450
Edward Smith-Rowland [Tue, 12 May 2009 22:16:52 +0000 (22:16 +0000)]
status_cxx200x.xml: Note missing constexpr for random number engines...
2009-05-12 Edward Smith-Rowland <3dw4rd@verizon.net>
* doc/xml/manual/status_cxx200x.xml: Note missing constexpr for
random number engines, complex, bitset, array, time utilities, and
char_traits.
From-SVN: r147449
Jonathan Wakely [Tue, 12 May 2009 21:08:00 +0000 (21:08 +0000)]
exception: Include nested_exception.h in C++0x mode.
2009-05-12 Jonathan Wakely <jwakely.gcc@gmail.com>
* libsupc++/exception: Include nested_exception.h in C++0x mode.
* libsupc++/nested_exception.h: New.
* libsupc++/Makefile.am: Add new header.
* libsupc++/Makefile.in: Regenerate.
* testsuite/18_support/nested_exception/rethrow_nested.cc: New.
* testsuite/18_support/nested_exception/throw_with_nested.cc: New.
* testsuite/18_support/nested_exception/cons.cc: New.
* testsuite/18_support/nested_exception/nested_ptr.cc: New.
* testsuite/18_support/nested_exception/rethrow_if_nested.cc: New.
* doc/xml/manual/status_cxx200x.xml: Adjust.
From-SVN: r147446
H.J. Lu [Tue, 12 May 2009 16:33:14 +0000 (09:33 -0700)]
re PR target/37179 (gcc emits bad opcode 'ffreep')
PR target/37179:
* Correct PR number for revision 147429.
From-SVN: r147441
Jan Hubicka [Tue, 12 May 2009 14:05:28 +0000 (16:05 +0200)]
loop-36.c: Reduce amount of iterations to 2 so unrolling still happens.
* gcc.dg/tree-ssa/loop-36.c: Reduce amount of iterations to 2 so unrolling
still happens.
* gcc.dg/ipa/ipacost-1.c: Prevent inlining
* gcc.dg/ipa/ipacost-2.c: Likewise.
* gcc.dg/vect/slp-3.c: Loop is no longer unrolled.
* tree-inline.c (estimate_operator_cost): Add operands;
when division happens by constant, it is cheap.
(estimate_num_insns): Loads and stores are not having cost of 0;
EH magic stuff is cheap; when computing runtime cost of switch,
use log2 base of amount of its cases; builtin_expect has cost of 0;
compute cost for moving return value of call.
(init_inline_once): Initialize time_based flags.
* tree-inline.h (eni_weights_d): Add time_based flag.
From-SVN: r147436
Paolo Bonzini [Tue, 12 May 2009 13:47:26 +0000 (13:47 +0000)]
df-core.c: Update head documentation.
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
* df-core.c: Update head documentation.
From-SVN: r147435
Michael Meissner [Tue, 12 May 2009 12:52:45 +0000 (12:52 +0000)]
Fix PR bootstrap/40118
From-SVN: r147434
David Billinghurst [Tue, 12 May 2009 11:55:20 +0000 (11:55 +0000)]
default_format_1.f90: XFAIL on cygwin.
2009-05-12 David Billinghurst <billingd@gcc.gnu.org>
* gfortran.dg/default_format_1.f90: XFAIL on cygwin.
From-SVN: r147430
Uros Bizjak [Tue, 12 May 2009 11:42:53 +0000 (13:42 +0200)]
re PR target/37197 (-msse4 ICE on __builtin_parityl)
PR target/37197
* config/i386/driver-i386.c (processor_signatures): New enum.
(SIG_GEODE): Move from vendor_signatures to processor_signatures.
(host_detect_local_cpu): For SIG_AMD vendor, check for SIG_GEODE
processor signature to detect geode processor.
From-SVN: r147429
Paolo Bonzini [Tue, 12 May 2009 09:52:27 +0000 (09:52 +0000)]
revert: optabs.c (prepare_cmp_insn): Temporarily disable test that causes spurious differences between trunk and...
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
Revert:
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
* optabs.c (prepare_cmp_insn): Temporarily disable test that
causes spurious differences between trunk and cond-optab branch.
From-SVN: r147426
Paolo Bonzini [Tue, 12 May 2009 09:43:48 +0000 (09:43 +0000)]
Merge cond-optab branch.
From-SVN: r147425
David Billinghurst [Tue, 12 May 2009 08:34:46 +0000 (08:34 +0000)]
target-supports.exp (check_profiling_available): Return false for -p on *-*-cygwin* targets.
2009-05-12 David Billinghurst <billingd@gcc.gnu.org>
* lib/target-supports.exp (check_profiling_available): Return
false for -p on *-*-cygwin* targets.
From-SVN: r147421
Paolo Bonzini [Tue, 12 May 2009 06:42:59 +0000 (06:42 +0000)]
optabs.c (prepare_cmp_insn): Temporarily disable test that causes spurious differences between trunk and...
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
* optabs.c (prepare_cmp_insn): Temporarily disable test that
causes spurious differences between trunk and cond-optab branch.
From-SVN: r147418
Alexandre Oliva [Tue, 12 May 2009 05:49:28 +0000 (05:49 +0000)]
re PR target/37137 (unrecognized command line option "-minterlink-mips16")
ChangeLog:
PR target/37137
* Makefile.def (flags_to_pass): Remove redundant and incomplete
STAGE1_CFLAGS, STAGE2_CFLAGS, STAGE3_CFLAGS, and STAGE4_CFLAGS.
Add FLAGS_FOR_TARGET and BUILD_CONFIG.
(bootstrap_stage): Remove bootstrap-debug custom stages. Turn
stage_configureflags, stage_cflags and stage_libcflags into
explicit Makefile macros.
* Makefile.tpl (HOST_EXPORTS, EXTRA_HOST_FLAGS): Pass GCJ and
GFORTRAN.
(POSTSTAGE1_HOST_EXPORTS): Add XGCC_FLAGS_FOR_TARGET and TFLAGS to
CC. Set CC_FOR_BUILD from CC.
(BASE_TARGET_EXPORTS, RAW_CXX_TARGET_EXPORTS,
NORMAL_TARGET_EXPORTS): Move SYSROOT_CFLAGS_FOR_TARGET and
DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS and CXXFLAGS to
XGCC_FLAGS_FOR_TARGET. Add it along with TFLAGS to CC, CXX, GCJ,
and GFORTRAN.
(TFLAGS, STAGE_CFLAGS, STAGE_TFLAGS, STAGE_CONFIGURE_FLAGS): New.
(_LIBCFLAGS): Renamed to _TFLAGS.
(do-compare-debug, do-compare3-debug): Drop.
(CC, GCC_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET,
GCJ_FOR_TARGET, GFORTRAN_FOR_TARGET): Remove FLAGS_FOR_TARGET.
(FLAGS_FOR_TARGET, SYSROOT_CFLAGS_FOR_TARGET,
DEBUG_PREFIX_CFLAGS_FOR_TARGET): Move down.
(XGCC_FLAGS_FOR_TARGET): New.
(BASE_FLAGS_TO_PASS): Pass STAGEid_CFLAGS, STAGEid_TFLAGS and TFLAGS.
(EXTRA_HOST_FLAGS): Pass GCJ and GFORTRAN.
(POSTSTAGE1_FLAGS_TO_PASS): Move SYSROOT_CFLAGS_FOR_TARGET and
DEBUG_PREFIX_CFLAGS_FOR_TARGET from CFLAGS, CXXFLAGS, LIBCFLAGS,
LIBCXXFLAGS to XGCC_FLAGS_FOR_TARGET. Add it along with TFLAGS
to CC, CXX, GCJ, and GFORTRAN. Pass XGCC_FLAGS_FOR_TARGET and
TFLAGS.
(BUILD_CONFIG): Include if requested.
(all): Set TFLAGS on bootstrap.
(configure-stageid-prefixmodule): Pass TFLAGS, adjust FLAGS.
(all-stageid-prefixmodule): Likewise.
(do-clean, distclean-stageid): Set TFLAGS.
(restrap): Fix whitespace.
* Makefile.in: Rebuilt.
config/ChangeLog:
* multi.m4: Save CXX, GFORTRAN and GCJ in config.status.
* mt-gnu (CXXFLAGS_FOR_TARGET): Adjust.
* bootstrap-O1.mk: New.
* bootstrap-O3.mk: New.
* bootstrap-debug.mk: New.
gcc/ChangeLog:
PR target/37137
* doc/install.texi (STAGE1_TFLAGS, BUILD_CONFIG): Document.
gcc/java/ChangeLog:
* Make-lang.in (GCJ): Renamed to...
(XGCJ): ... this.
libjava/ChangeLog:
* configure.ac: Insert libgcjdir in the GCJ passed in the
environment, rather than overriding completely.
* configure: Rebuilt.
From-SVN: r147415
Alexandre Oliva [Tue, 12 May 2009 05:43:51 +0000 (05:43 +0000)]
tree.c (iterative_hash_pointer): Delete.
* tree.c (iterative_hash_pointer): Delete.
(iterative_hash_expr): Short-circuit handling of NULL pointer.
Hash UIDs and versions of SSA names. Don't special-case built-in
function declarations.
From-SVN: r147414
Ian Lance Taylor [Tue, 12 May 2009 01:26:45 +0000 (01:26 +0000)]
re PR bootstrap/40103 (CLooG header files are not -Wc++-compat ready)
PR bootstrap/40103
* graphite.c: Force -Wc++-compat to only be a warning before
#including "cloog/cloog.h".
From-SVN: r147407
GCC Administrator [Tue, 12 May 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147404
H.J. Lu [Tue, 12 May 2009 00:09:17 +0000 (00:09 +0000)]
re PR tree-optimization/38632 (ICE with try/catch and -ftree-parallelize-loops)
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/38632
* g++.dg/tree-ssa/pr38632.C: New.
From-SVN: r147401
Martin Jambor [Mon, 11 May 2009 20:58:08 +0000 (22:58 +0200)]
ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
2009-05-11 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (ipcp_cloning_candidate_p): Add missing return false.
From-SVN: r147396
Jan Hubicka [Mon, 11 May 2009 20:54:56 +0000 (22:54 +0200)]
pr21829.c: Simplify matching since we now optimize better.
* gcc.dg/tree-ssa/pr21829.c: Simplify matching since
we now optimize better.
* gcc.dg/Wunreachable-8.c: Bogus warnings now come
out at different places.
* gcc.dg/vect/vect-92.c: Increase loop iteration count to prevent
unroling.
* gcc.dg/vect/vect-76.c: Likewise.
* gcc.dg/vect/vect-70.c: Likewise.
* gcc.dg/vect/vect-66.c: Likewise.
* gcc.dg/vect/no-section-anchors-vect-66.c: Likewise.
* gcc.dg/vect/slp-3.c: One of loops gets now fully unrolled.
* tree-ssa-loop-ivcanon.c: Include target.h
(struct loop_size): new structure.
(constant_after_peeling): New predicate.
(tree_estimate_loop_size): New function.
(estimated_unrolled_size): Rewrite for new estimates.
(try_unroll_loop_completely): Use new estimates.
* Makefile.in (tree-ssa-loop-ivcanon.o): Add dependenc on target.h
From-SVN: r147395
Andrew Pinski [Mon, 11 May 2009 19:14:08 +0000 (19:14 +0000)]
spu-c.c (spu_categorize_keyword): Update for recent libcpp interface change.
2009-05-11 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/spu-c.c (spu_categorize_keyword): Update for recent
libcpp interface change.
(spu_macro_to_expand): Likewise.
From-SVN: r147393
H.J. Lu [Mon, 11 May 2009 16:37:07 +0000 (16:37 +0000)]
re PR middle-end/40080 (error: missing callgraph edge for call stmt)
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/40080
* gcc.c-torture/compile/pr40080.c: New.
From-SVN: r147389
Paolo Bonzini [Mon, 11 May 2009 16:05:45 +0000 (16:05 +0000)]
re PR middle-end/40026 (ICE during gimplify_init_constructor)
2009-05-11 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/40026
* gimplify.c (gimplify_init_constructor): Change initial conditional
to assertion. Rewrite TREE_OPERAND (*expr_p, 1) after
optimize_compound_literals_in_ctor.
testsuite:
2009-05-11 Paolo Bonzini <bonzini@gnu.org>
* gcc.c-torture/compile/pr40026.c: New testcase.
From-SVN: r147386
Nathan Sidwell [Mon, 11 May 2009 15:46:54 +0000 (15:46 +0000)]
m68k-devices.def (52274, [...]): New devices.
* config/m68k/m68k-devices.def (52274, 52277, 5301x, 5225x, 51xx):
New devices.
* doc/invoke.texi (M680x0 Options): Document new coldfire cpus.
From-SVN: r147383
Steve Ellcey [Mon, 11 May 2009 15:23:25 +0000 (15:23 +0000)]
* resolve.c (check_host_association): Initialize tail.
From-SVN: r147381
Janus Weil [Mon, 11 May 2009 14:14:38 +0000 (16:14 +0200)]
re PR fortran/40089 (Public type with public component which has a private type)
2009-05-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/40089
* resolve.c (resolve_fl_derived): Only return FAILURE if
gfc_notify_std fails.
2009-05-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/40089
* gfortran.dg/proc_ptr_comp_7.f90: New.
From-SVN: r147379
H.J. Lu [Mon, 11 May 2009 13:51:14 +0000 (13:51 +0000)]
tree-vect-data-refs.c (vect_analyze_group_access): Use HOST_WIDE_INT for gap.
2009-05-11 H.J. Lu <hongjiu.lu@intel.com>
* tree-vect-data-refs.c (vect_analyze_group_access): Use
HOST_WIDE_INT for gap.
From-SVN: r147375
Ira Rosen [Mon, 11 May 2009 12:33:13 +0000 (12:33 +0000)]
re PR tree-optimization/40074 (ICE in vect_get_vec_def_for_operand, at tree-vect-stmts.c:944)
PR tree-optimization/40074
* tree-vect-data-refs.c (vect_analyze_group_access): Take gaps into
account in group size and step comparison.
From-SVN: r147372
Richard Guenther [Mon, 11 May 2009 12:19:00 +0000 (12:19 +0000)]
passes.c (init_optimization_passes): Strip now incorrect comment.
2009-05-11 Richard Guenther <rguenther@suse.de>
* passes.c (init_optimization_passes): Strip now incorrect comment.
(execute_function_todo): Do not set PROP_alias.
* tree-pass.h (PROP_alias): Remove.
* tree-ssa-structalias.c (pass_build_alias): Do not provide PROP_alias.
* tree-if-conv.c (pass_if_conversion): Do not require PROP_alias.
* tree-nrv.c (pass_return_slot): Likewise.
* tree-object-size.c (pass_object_sizes): Likewise.
* tree-ssa-dom.c (pass_dominator): Likewise.
(pass_phi_only_cprop): Likewise.
* tree-ssa-dse.c (pass_dse): Likewise.
* tree-ssa-phiopt.c (pass_phiopt): Likewise.
(pass_cselim): Likewise.
* tree-ssa-pre.c (pass_pre): Likewise.
(pass_fre): Likewise.
* tree-ssa-reassoc.c (pass_reassoc): Likewise.
* tree-ssa-sink.c (pass_sink_code): Likewise.
* tree-stdarg.c (pass_stdarg): Likewise.
* tree-tailcall.c (pass_tail_calls): Likewise.
* tree-vrp.c (pass_vrp): Likewise.
From-SVN: r147371
Ian Lance Taylor [Mon, 11 May 2009 01:02:40 +0000 (01:02 +0000)]
basic-block.h (enum profile_status): Break out of struct control_flow_graph.
./: * basic-block.h (enum profile_status): Break out of struct
control_flow_graph.
* cgraph.h (struct inline_summary): Break out of struct
cgraph_local_info.
* cgraphunit.c (enum cgraph_order_sort_kind): New enum, broken out
of struct cgraph_order_sort.
* combine.c (enum undo_kind): New enum, broken out of struct
undo.
* cse.c (struct branch_path): Break out of struct
cse_basic_block_data.
* except.h (enum eh_region_type): Break out of struct eh_region.
* gcc.c (enum add_del): Break out of struct modify_target.
* genrecog.c (enum decision_type): Break out of struct
decision_test.
* ggc-page.c (struct ggc_pch_ondisk): Break out of struct
ggc_pch_data.
* matrix-reorg.c (struct free_info): Break out of struct
matrix_info.
* regmove.c (enum match_use): New enum, broken out of struct
match.
* sched-int.h (enum post_call_group): New enum, broken out of
struct deps.
(struct deps_reg): Break out of struct deps.
* target.h (struct asm_int_op): Break out of struct gcc_target.
* tree-eh.c (struct goto_queue_node): Break out of struct
leh_tf_state.
* tree-inline.h (enum copy_body_cge_which): Break out of
copy_body_data.
* tree-pass.h (enum opt_pass_type): Break out of struct opt_pass.
* c-decl.c (in_struct, struct_types): New static variables.
(pushtag): Add loc parameter. Change all callers.
(lookup_tag): Add ploc parameter. Change all callers.
(check_compound_literal_type): New function.
(parser_xref_tag): Add loc parameter. Change all callers. If
-Wc++-compat, warn about struct/union/enum types defined within a
struct or union.
(start_struct): Add enclosing_in_struct, enclosing_struct_types,
and loc parameters. Change all callers. Change error calls to
error_at, using loc. For a redefinition, if the location of the
original definition is known, report it. Set in_struct and
struct_types. If -Wc++-compat warn if in sizeof, typeof, or
alignof.
(finish_struct): Add new parameters enclosing_in_struct and
enclosing_struct_types. Change all callers. Set
C_TYPE_DEFINED_IN_STRUCT for all struct/union/enum types defined
in the struct. If in a struct, add this struct to struct_types.
(start_enum): Add loc parameter. Change all callers. Use
error_at for errors, using loc. For a redefinition, if the
location of the original definition is known, report it. If in a
struct, add this enum type to struct_types. If -Wc++-compat warn
if in sizeof, typeof, or alignof.
* c-parser.c (disable_extension_diagnostics): Disable
-Wc++-compat.
(enable_extension_diagnostics): Reenable -Wc++-compat if
appropriate.
(c_parser_enum_specifier): Get enum location for start_enum.
(c_parser_struct_or_union_specifier): Get struct location for
start_struct. Save in_struct and struct_types status between
start_struct and finish_struct.
(c_parser_cast_expression): Get location of cast.
(c_parser_alignof_expression): Get location of type.
(c_parser_postfix_expression): Likewise.
(c_parser_postfix_expression_after_paren_type): Add type_loc
parameter. Change all callers. Call
check_compound_literal_type. Use type_loc for error about
variable size type.
* c-typeck.c (build_external_ref): If -Wc++-compat, warn about a
use of an enum constant from an enum type defined in a struct or
union.
(c_cast_expr): Add loc parameter. Change all callers. If
-Wc++-compat, warn about defining a type in a cast.
* c-tree.h (C_TYPE_DEFINED_IN_STRUCT): Define.
(start_enum, start_struct, finish_struct): Update declarations.
(parser_xref_tag, c_cast_expr): Update declarations.
(check_compound_literal_type): Declare.
fortran/:
* gfortran.h (enum gfc_omp_sched_kind): New enum, broken out of
gfc_omp_clauses.
(enum gfc_omp_default_sharing): Likewise.
* module.c (enum gfc_rsym_state): New enum, broken out of
pointer_info.
(enum gfc_wsym_state): Likewise.
* parse.c (enum state_order): New enum, broken out of st_state.
objc/:
* objc-act.c (objc_building_struct): New static variable.
(objc_in_struct, objc_struct_types): New static variables.
(objc_start_struct, objc_finish_struct): New static functions.
(generate_struct_by_value_array): Call objc_start_struct instead
of start_struct, and call objc_finish_struct instead of
finish_struct.
(objc_build_struct, build_objc_symtab_template): Likewise.
(build_module_descriptor): Likewise.
(build_next_objc_exception_stuff): Likewise.
(build_protocol_template): Likewise.
(build_method_prototype_list_template): Likewise.
(build_method_prototype_template): Likewise.
(build_category_template, build_selector_template): Likewise.
(build_class_template, build_super_template): Likewise.
(build_ivar_template, build_ivar_list_template): Likewise.
(build_method_list_template): Likewise.
(build_method_template): Likewise.
objcp/:
* objcp-decl.h (start_struct): Add three new, ignored, macro
parameters.
(finish_struct): Add two new, ignored, macro parameters.
testsuite/:
* gcc.dg/Wcxx-compat-7.c: New testcase.
* gcc.dg/Wcxx-compat-8.c: New testcase.
* gcc.dg/c99-tag-1.c: Recognize new "originally defined here"
notes
* gcc.dg/pr17188-1.c: Likewise.
* gcc.dg/pr39084.c: Likewise.
From-SVN: r147358
GCC Administrator [Mon, 11 May 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147356
Ben Elliston [Sun, 10 May 2009 23:17:55 +0000 (23:17 +0000)]
rs6000-c.c (altivec_categorize_keyword): Update for recent libcpp interface change.
* config/rs6000/rs6000-c.c (altivec_categorize_keyword): Update
for recent libcpp interface change.
(rs6000_macro_to_expand): Likewise.
From-SVN: r147352
Michael Matz [Sun, 10 May 2009 18:40:16 +0000 (18:40 +0000)]
re PR target/40031 (ARM broken with addresses in PHIs with -fPIC)
PR target/40031
* config/arm/arm.c (require_pic_register): Emit on entry
edge, not at entry of function.
testsuite/
* gcc.dg/pr40031.c: New test.
From-SVN: r147350
Richard Guenther [Sun, 10 May 2009 16:40:55 +0000 (16:40 +0000)]
re PR tree-optimization/40081 (verify_stmts failed with -O2)
2009-05-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40081
Revert
* tree-sra.c (instantiate_element): Instantiate scalar replacements
using the main variant of the element type. Do not fiddle with
TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.
* tree-sra.c (sra_type_can_be_decomposed_p): Do not decompose
structs with volatile fields.
From-SVN: r147349
Eric Botcazou [Sun, 10 May 2009 16:39:39 +0000 (16:39 +0000)]
Remove junk file
From-SVN: r147348
Jan Hubicka [Sun, 10 May 2009 15:20:27 +0000 (17:20 +0200)]
tree-inline.c (delete_unreachable_blocks_update_callgraph): Declare.
* tree-inline.c (delete_unreachable_blocks_update_callgraph): Declare.
(estimate_move_cost): Assert that it does not get called for VOID_TYPE_P.
(estimate_num_insns): Skip VOID types in argument handling.
(optimize_inline_calls): Delete unreachable blocks and verify that
callgraph is valid.
From-SVN: r147344
Jan Hubicka [Sun, 10 May 2009 15:13:23 +0000 (15:13 +0000)]
Fix changelog entry.
From-SVN: r147343
Jan Hubicka [Sun, 10 May 2009 15:11:01 +0000 (17:11 +0200)]
cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
* cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
* cgraph.c (cgraph_mark_address_taken_node): New function.
(dump_cgraph_node): Dump new flag.
* cgraph.h (struct cgraph_node): Add address_taken.
(cgraph_mark_address_taken_node): New function.
* cp/decl2.c (cxx_callgraph_analyze_expr): Use
cgraph_mark_address_taken.
* ipa.c (cgraph_postorder): Prioritize functions with address taken
since new direct calls can be born.
From-SVN: r147342
Joseph Myers [Sun, 10 May 2009 14:27:32 +0000 (15:27 +0100)]
c-lex.c (c_lex_with_flags): Expect cpp_hashnode in tok->val.node.node.
gcc:
* c-lex.c (c_lex_with_flags): Expect cpp_hashnode in
tok->val.node.node.
libcpp:
* include/cpplib.h (enum cpp_token_fld_kind): Add
CPP_TOKEN_FLD_TOKEN_NO.
(struct cpp_macro_arg, struct cpp_identifier): Define.
(union cpp_token_u): Use struct cpp_identifier for identifiers.
Use struct cpp_macro_arg for macro arguments. Add token_no for
CPP_PASTE token numbers.
* directives.c (_cpp_handle_directive, lex_macro_node, do_pragma,
do_pragma_poison, parse_assertion): Use val.node.node in place of
val.node.
* expr.c (parse_defined, eval_token): Use val.node.node in place
of val.node.
* lex.c (cpp_ideq, _cpp_lex_direct, cpp_token_len,
cpp_spell_token, cpp_output_token, _cpp_equiv_tokens,
cpp_token_val_index): Use val.macro_arg.arg_no or val.token_no in
place of val.arg_no. Use val.node.node in place of val.node.
* macro.c (replace_args, cpp_get_token, parse_params,
lex_expansion_token, create_iso_definition, cpp_macro_definition):
Use val.macro_arg.arg_no or val.token_no in place of val.arg_no.
Use val.node.node in place of val.node.
From-SVN: r147341
Eric Botcazou [Sun, 10 May 2009 12:09:47 +0000 (12:09 +0000)]
Fix formatting
From-SVN: r147338
Jan Hubicka [Sun, 10 May 2009 11:36:11 +0000 (13:36 +0200)]
re PR middle-end/40084 (Revision 147294 failed 483.xalancbmk in SPEC CPU 2006 at -O3)
PR middle-end/40084
* cgraph.c (cgraph_update_edges_for_call_stmt_node): Take old_call argument;
rewrite.
(cgraph_update_edges_for_call_stmt): Take old_decl argument.
* cgraph.h (cgraph_update_edges_for_call_stmt): Update prototype.
* tree-inline.c (copy_bb): Set frequency correctly.
(fold_marked_statements): Update call of cgraph_update_edges_for_call_stmt.
From-SVN: r147337
Joseph Myers [Sun, 10 May 2009 10:36:44 +0000 (11:36 +0100)]
* gcc.pot: Regenerate.
From-SVN: r147335
Joseph Myers [Sun, 10 May 2009 10:29:35 +0000 (11:29 +0100)]
arc.c (arc_handle_interrupt_attribute): Use %qE for identifiers in diagnostics.
* config/arc/arc.c (arc_handle_interrupt_attribute): Use %qE for
identifiers in diagnostics.
* config/arm/arm.c (arm_handle_fndecl_attribute,
arm_handle_isr_attribute): Likewise.
* config/avr/avr.c (avr_handle_progmem_attribute,
avr_handle_fndecl_attribute, avr_handle_fntype_attribute):
Likewise.
* config/bfin/bfin.c (handle_int_attribute,
bfin_handle_longcall_attribute, bfin_handle_l1_text_attribute,
bfin_handle_l1_data_attribute, bfin_handle_longcall_attribute,
bfin_handle_l1_text_attribute, bfin_handle_l1_data_attribute):
Likewise.
* config/darwin.c (darwin_handle_kext_attribute,
darwin_handle_weak_import_attribute): Likewise.
* config/h8300/h8300.c (h8300_handle_fndecl_attribute,
h8300_handle_eightbit_data_attribute,
h8300_handle_tiny_data_attribute): Likewise.
* config/i386/i386.c (ix86_handle_cconv_attribute,
ix86_handle_abi_attribute, ix86_handle_struct_attribute):
Likewise.
* config/i386/winnt.c (ix86_handle_shared_attribute,
ix86_handle_selectany_attribute): Likewise.
* config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
* config/m32c/m32c.c (function_vector_handler): Likewise.
* config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute,
m68hc11_handle_fntype_attribute): Likewise.
* config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
* config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
* config/mips/mips.c (mips_insert_attributes,
mips_merge_decl_attributes, mips_expand_builtin): Likewise.
* config/rs6000/rs6000.c (rs6000_handle_longcall_attribute,
rs6000_handle_struct_attribute): Likewise.
* config/sh/sh.c (sh_insert_attributes,
sh_handle_resbank_handler_attribute,
sh_handle_interrupt_handler_attribute,
sh2a_handle_function_vector_handler_attribute,
sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
Likewise.
* config/sh/symbian.c (sh_symbian_mark_dllimport): Likewise.
* config/spu/spu.c (spu_handle_fndecl_attribute,
spu_handle_vector_attribute): Likewise.
* config/stormy16/stormy16.c
(xstormy16_handle_interrupt_attribute): Likewise.
* config/v850/v850-c.c (ghs_pragma_section): Likewise.
* config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.
From-SVN: r147334
Joseph Myers [Sun, 10 May 2009 10:28:34 +0000 (11:28 +0100)]
pretty-print.h (struct pretty_print_info): Add translate_identifiers.
* pretty-print.h (struct pretty_print_info): Add
translate_identifiers.
(pp_translate_identifiers): New.
(pp_identifier): Only conditionally translate identifier to locale
character set.
* pretty-print.c (pp_construct): Set pp_translate_identifiers.
(pp_base_tree_identifier): Only conditionally translate identifier
to locale character set.
* c-pretty-print.c (M_): Define.
(pp_c_type_specifier, pp_c_primary_expression): Mark English
fragments for conditional translation with M_.
* tree-pretty-print.c (maybe_init_pretty_print): Disable
identifier translation.
cp:
* call.c (name_as_c_string): Call type_as_string_translate.
Translate identifiers to locale character set.
* cp-tree.h (lang_decl_name): Update prototype.
(type_as_string_translate, decl_as_string_translate,
cxx_printable_name_translate): Declare.
* cxx-pretty-print.c (M_): Define.
(pp_cxx_unqualified_id, pp_cxx_canonical_template_parameter): Mark
English fragments for conditional translation with M_.
* decl.c (grokdeclarator): Translate identifiers to locale
character set for diagnostics.
* error.c (M_): Define.
(dump_template_bindings, dump_type, dump_aggr_type,
dump_type_prefix, dump_global_iord, dump_simple_decl, dump_decl,
dump_function_decl, dump_template_parms, dump_expr,
dump_binary_op, op_to_string, assop_to_string): Mark English
fragments for conditional translation with M_.
(type_as_string): Disable translation of identifiers.
(type_as_string_translate): New.
(expr_as_string): Disable translation of identifiers.
(decl_as_string): Disable translation of identifiers.
(decl_as_string_translate): New.
(lang_decl_name): Add parameter translate.
(args_to_string): Call type_as_string_translate.
(cp_print_error_function): Call cxx_printable_name_translate.
(print_instantiation_full_context,
print_instantiation_partial_context): Call
decl_as_string_translate.
* parser.c (cp_lexer_get_preprocessor_token): Use %qE for
identifier in diagnostic.
* tree.c (cxx_printable_name): Change to
cxx_printable_name_internal. Add parameter translate.
(cxx_printable_name, cxx_printable_name_translate): New wrappers
round cxx_printable_name_internal.
objc:
* objc-act.c: Include intl.h.
(objc_lookup_protocol): Use complete sentences for diagnostics
with %qE for identifiers and translating results of
gen_type_name_0 to locale character set.
(objc_check_decl, check_protocol_recursively,
lookup_and_install_protocols, objc_build_string_object,
objc_get_class_reference, objc_declare_alias, objc_declare_class,
objc_get_class_ivars, error_with_ivar, check_duplicates,
objc_finish_message_expr, objc_build_protocol_expr,
objc_build_selector_expr, build_ivar_reference, objc_add_method,
add_category, add_instance_variable, objc_is_public,
check_methods, check_methods_accessible, check_protocol,
start_class, finish_class, start_protocol, really_start_method,
get_super_receiver, objc_lookup_ivar): Use %E and %qE for
identifiers in diagnostics. Translate generated text to locale
character set as needed.
(check_protocol, check_protocols): Change name parameter to type
tree.
(lang_report_error_function): Remove.
From-SVN: r147333
Paul Thomas [Sun, 10 May 2009 10:22:37 +0000 (10:22 +0000)]
re PR fortran/40018 (ICE in output_constructor)
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40018
* trans-array.c (gfc_trans_array_constructor_value): Fold
convert numeric constants.
(gfc_build_constant_array_constructor): The same.
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40018
* gfortran.dg/array_constructor_31.f90: New test.
From-SVN: r147332
Paul Thomas [Sun, 10 May 2009 10:21:08 +0000 (10:21 +0000)]
re PR fortran/40018 (ICE in output_constructor)
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40018
* trans-array.c (gfc_trans_array_constructor_value): Fold
convert numeric constants.
(gfc_build_constant_array_constructor): The same.
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/40018
* gfortran.dg/array_constructor_31.f90: New test.
From-SVN: r147331
Richard Guenther [Sun, 10 May 2009 10:16:01 +0000 (10:16 +0000)]
re PR tree-optimization/40081 (verify_stmts failed with -O2)
2009-05-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40081
* tree-sra.c (instantiate_element): Instantiate scalar replacements
using the main variant of the element type. Do not fiddle with
TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.
* g++.dg/torture/pr40081.C: New testcase.
From-SVN: r147330
Paul Thomas [Sun, 10 May 2009 07:23:30 +0000 (07:23 +0000)]
re PR fortran/38863 (WHERE with multiple elemental defined assignments gives wrong answer)
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38863
* trans-expr.c (gfc_conv_operator_assign): Remove function.
* trans.h : Remove prototype for gfc_conv_operator_assign.
* trans-stmt.c (gfc_conv_elemental_dependencies): Initialize
derivde types with intent(out).
(gfc_trans_call): Add mask, count1 and invert arguments. Add
code to use mask for WHERE assignments.
(gfc_trans_forall_1): Use new arguments for gfc_trans_call.
(gfc_trans_where_assign): The gfc_symbol argument is replaced
by the corresponding code. If this has a resolved_sym, then
gfc_trans_call is called. The call to gfc_conv_operator_assign
is removed.
(gfc_trans_where_2): Change the last argument in the call to
gfc_trans_where_assign.
* trans-stmt.h : Modify prototype for gfc_trans_call.
* trans.c (gfc_trans_code): Use new args for gfc_trans_call.
2009-05-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38863
* gfortran.dg/dependency_24.f90: New test.
* gfortran.dg/dependency_23.f90: Clean up module files.
From-SVN: r147329
David Billinghurst [Sun, 10 May 2009 01:14:50 +0000 (01:14 +0000)]
re PR fortran/38956 (tests gfortran.dg/chmod_{1,2,3}.f90 fails on i686-pc-cygwin)
2009-04-10 David Billinghurst <billingd@gcc.gnu.org>
PR fortran/38956
* gfortran.dg/chmod_1.f90: Don't run on *-*-cygwin*.
* gfortran.dg/chmod_2.f90: Likewise.
* gfortran.dg/chmod_3.f90: Likewise.
* gfortran.dg/open_errors.f90: Likewise.
From-SVN: r147326
GCC Administrator [Sun, 10 May 2009 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147325
Jan Hubicka [Sat, 9 May 2009 20:10:37 +0000 (22:10 +0200)]
re PR middle-end/40080 (error: missing callgraph edge for call stmt)
PR middle-end/40080
* cgraphunit.c (cgraph_materialize_all_clones): Do not redirect
indirect calls; verify cgraph afterwards.
From-SVN: r147320
Jan Hubicka [Sat, 9 May 2009 18:31:32 +0000 (20:31 +0200)]
re PR bootstrap/40082 (Power bootstrap is broken in building libstdc++)
PR bootstrap/40082
* ipa.c (update_inlined_to_pointer): New function.
(cgraph_remove_unreachable_nodes): Use it.
From-SVN: r147319
Jan Hubicka [Sat, 9 May 2009 15:00:25 +0000 (17:00 +0200)]
tree-eh.c (struct leh_state): Remove prev_try.
* tree-eh.c (struct leh_state): Remove prev_try.
(lower_try_finally, lower_catch, lower_eh_filter, lower_cleanup): Do
not track prev_try.
* except.c (gen_eh_region_cleanup, duplicate_eh_regions,
copy_eh_region_1, copy_eh_region, redirect_eh_edge_to_label,
remove_eh_handler_and_replace, foreach_reachable_handler,
verify_eh_region, verify_eh_tree): Remove tracking of prev_try pointer.
* except.h (struct eh_region): Remove eh_region_u_cleanup.
(gen_eh_region_cleanup): Update prototype.
From-SVN: r147318
Jan Hubicka [Sat, 9 May 2009 10:52:24 +0000 (12:52 +0200)]
re PR middle-end/40043 (ICE with nested try/catch)
* g++.dg/eh/nested-try.C: New test.
PR middle-end/40043
* except.c (copy_eh_region): Always set prev_try.
(redirect_eh_edge_to_label): Find outer try.
(foreach_reachable_handler): When looking for prev try
handle case where previous try is not going to be taken.
From-SVN: r147317
Uros Bizjak [Sat, 9 May 2009 07:37:38 +0000 (09:37 +0200)]
Fix even more formatting.
From-SVN: r147315
Eric Botcazou [Sat, 9 May 2009 06:51:31 +0000 (06:51 +0000)]
Fix more formatting
From-SVN: r147314
Eric Botcazou [Sat, 9 May 2009 06:47:29 +0000 (06:47 +0000)]
Fix formatting
From-SVN: r147313
GCC Administrator [Sat, 9 May 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147304
Michael Meissner [Fri, 8 May 2009 23:02:35 +0000 (23:02 +0000)]
Update test to use __BIGGEST_ALIGNMENT__
From-SVN: r147299
Michael Meissner [Fri, 8 May 2009 22:38:49 +0000 (22:38 +0000)]
Fix PR 40049
From-SVN: r147298
Joseph Myers [Fri, 8 May 2009 20:58:26 +0000 (21:58 +0100)]
fold-const.c (fold_binary): Do not fold multiplication by 1 or -1 for complex floating-point types if...
* fold-const.c (fold_binary): Do not fold multiplication by 1 or
-1 for complex floating-point types if honoring signed zeros.
testsuite:
* gcc.dg/torture/complex-sign-mul-minus-one.c,
gcc.dg/torture/complex-sign-mul-one.c: New tests.
From-SVN: r147295
Jan Hubicka [Fri, 8 May 2009 19:19:51 +0000 (21:19 +0200)]
cgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument; handle correctly when profile is absent.
* cgraphbuild.c (compute_call_stmt_bb_frequency): Accept function argument;
handle correctly when profile is absent.
(build_cgraph_edges): Update.
(rebuild_cgraph_edges): Update.
* cgraph.c: Do not include varrau.h
(cgraph_set_call_stmt_including_clones, cgraph_create_edge_including_clones):
New function
(cgraph_update_edges_for_call_stmt_node): New stati cfunction.
(cgraph_update_edges_for_call_stmt): Handle clones.
(cgraph_remove_node): Handle clone tree.
(cgraph_remove_node_and_inline_clones): New function.
(dump_cgraph_node): Dump clone tree.
(cgraph_clone_node): Handle clone tree.
(clone_function_name): Bring here from tree-inline.c
(cgraph_create_virtual_clone): New function.
* cgraph.h (ipa_replace_map): Move ehre from ipa.h
(cgraph_clone_info): New function
(strut cgraph_node): Add clone_info and new clone tree pointers.
(cgraph_remove_node_and_inline_clones, cgraph_set_call_stmt_including_clones,
cgraph_create_edge_including_clones, cgraph_create_virtual_clone): Declare.
(cgraph_function_versioning): Use VEC argument.
(compute_call_stmt_bb_frequency): Update prototype.
(cgraph_materialize_all_clones): New function.
* ipa-cp.c (ipcp_update_cloned_node): Remove.
(ipcp_create_replace_map): Update to VECtors.
(ipcp_update_callgraph): Use virtual clones.
(ipcp_update_bb_counts, ipcp_update_edges_counts): Remove.
(ipcp_update_profiling): Do not update local profiling.
(ipcp_insert_stage): Use VECtors and virtual clones.
* cgraphunit.c (verify_cgraph_node): Verify clone tree.
(clone_of_p): New function.
(cgraph_preserve_function_body_p): Use clone tree.
(cgraph_optimize): Materialize clones.
(cgraph_function_versioning): Update for VECtors.
(save_inline_function_body): Use clone tree.
(cgraph_materialize_clone, cgraph_materialize_all_clones): New functions.
* ipa-inline.c (cgraph_default_inline_p): Use analyzed flags.
* ipa.c: Include gimple.h.
(cgraph_remove_unreachable_nodes): Use clone tree.
* ipa-prop.c (ipa_note_param_call): Update call of compute_call_stmt_bb_frequency.
* ipa-prop.h (ipa_replace_map): Move to cgraph.h.
* tree-inline.c: Do not include varray.h; do not include gt-tree-inline.h
(copy_bb): Handle updating of clone tree; add new edge when new call
appears.
(expand_call_inline): Be strict about every call having edge.
(clone_fn_id_num, clone_function_name): Move to cgraph.c.
(delete_unreachable_blocks_update_callgraph): New function.
(tree_function_versioning): Use VECtors; always remove unreachable blocks
and fold conditionals.
* tree-inline.h: Do not include varray.h
(tree_function_versioning): Remove.
* Makefile.in (GTFILES): Remove tree-inline.c
* passes.c (do_per_function): Do only functions having body.
* ipa-struct-reorg.c (do_reorg_1, collect_data_accesses): Handle cone tree.
From-SVN: r147294
H.J. Lu [Fri, 8 May 2009 18:44:50 +0000 (11:44 -0700)]
re PR c/36892 (Support __attribute__((deprecated("text string"))))
gcc/
2009-05-08 H.J. Lu <hongjiu.lu@intel.com>
Andrew Morrow <acm@google.com>
PR c/36892
* c-common.c (c_common_attribute_table): Permit deprecated
attribute to take an optional argument.
(handle_deprecated_attribute): If the optional argument to
__attribute__((deprecated)) is not a string ignore the attribute
and emit a warning.
* c-decl.c (grokdeclarator): Updated warn_deprecated_use call.
* c-typeck.c (build_component_ref): Likewise.
(build_external_ref): Likewise.
* toplev.c (warn_deprecated_use): Add an attribute argument.
Emit the message associated with __attribute__((deprecated)).
* toplev.h (warn_deprecated_use): Updated.
* doc/extend.texi: Document new optional parameter to
__attribute__((deprecated))
gcc/cp/
2009-05-08 H.J. Lu <hongjiu.lu@intel.com>
PR c/36892
* call.c (build_call_a): Updated warn_deprecated_use call.
(build_over_call): Likewise.
* decl.c (grokdeclarator): Likewise.
(grokparms): Likewise.
* semantics.c (finish_id_expression): Likewise.
* typeck.c (build_class_member_access_expr): Likewise.
(finish_class_member_access_expr): Likewise.
gcc/testsuite/
2009-05-08 H.J. Lu <hongjiu.lu@intel.com>
PR c/36892
* g++.dg/warn/deprecated-6.C: New.
* gcc.dg/deprecated-4.c: Likewise.
* gcc.dg/deprecated-5.c: Likewise.
* gcc.dg/deprecated-6.c: Likewise.
From-SVN: r147293
Michael Eager [Fri, 8 May 2009 16:18:16 +0000 (16:18 +0000)]
Fix bug in movdf_softfloat32.
From-SVN: r147290
H.J. Lu [Fri, 8 May 2009 13:39:01 +0000 (13:39 +0000)]
no-vfa-vect-37.c: Replace __aligned__(16) with __aligned__(__BIGGEST_ALIGNMENT__).
2009-05-08 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/vect/no-vfa-vect-37.c: Replace __aligned__(16) with
__aligned__(__BIGGEST_ALIGNMENT__).
* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
* gcc.dg/vect/no-vfa-vect-49.c: Likewise.
* gcc.dg/vect/no-vfa-vect-53.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
* gcc.dg/vect/no-vfa-vect-79.c: Likewise.
* gcc.dg/vect/Os-vect-95.c: Likewise.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/pr36493.c: Likewise.
* gcc.dg/vect/pr37385.c: Likewise.
* gcc.dg/vect/slp-7.c: Likewise.
* gcc.dg/vect/slp-9.c: Likewise.
* gcc.dg/vect/slp-widen-mult-s16.c: Likewise.
* gcc.dg/vect/slp-widen-mult-u8.c: Likewise.
* gcc.dg/vect/vect-35.c: Likewise.
* gcc.dg/vect/vect-40.c: Likewise.
* gcc.dg/vect/vect-42.c: Likewise.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-46.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-54.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-58.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-74.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-76.c: Likewise.
* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
* gcc.dg/vect/vect-77.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
* gcc.dg/vect/vect-78.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-80.c: Likewise.
* gcc.dg/vect/vect-85.c: Likewise.
* gcc.dg/vect/vect-87.c: Likewise.
* gcc.dg/vect/vect-88.c: Likewise.
* gcc.dg/vect/vect-92.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/vect-95.c: Likewise.
* gcc.dg/vect/vect-97.c: Likewise.
* gcc.dg/vect/vect-complex-1.c: Likewise.
* gcc.dg/vect/vect-complex-4.c: Likewise.
* gcc.dg/vect/vect-complex-5.c: Likewise.
* gcc.dg/vect/vect-multitypes-10.c: Likewise.
* gcc.dg/vect/vect-multitypes-11.c: Likewise.
* gcc.dg/vect/vect-multitypes-12.c: Likewise.
* gcc.dg/vect/vect-multitypes-13.c: Likewise.
* gcc.dg/vect/vect-multitypes-14.c: Likewise.
* gcc.dg/vect/vect-multitypes-15.c: Likewise.
* gcc.dg/vect/vect-multitypes-16.c: Likewise.
* gcc.dg/vect/vect-multitypes-17.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-multitypes-7.c: Likewise.
* gcc.dg/vect/vect-multitypes-8.c: Likewise.
* gcc.dg/vect/vect-multitypes-9.c: Likewise.
* gcc.dg/vect/vect-outer-1a.c: Likewise.
* gcc.dg/vect/vect-outer-1.c: Likewise.
* gcc.dg/vect/vect-outer-2a.c: Likewise.
* gcc.dg/vect/vect-outer-2b.c: Likewise.
* gcc.dg/vect/vect-outer-2.c: Likewise.
* gcc.dg/vect/vect-outer-2c.c: Likewise.
* gcc.dg/vect/vect-outer-2d.c: Likewise.
* gcc.dg/vect/vect-outer-3a.c: Likewise.
* gcc.dg/vect/vect-outer-3b.c: Likewise.
* gcc.dg/vect/vect-outer-3.c: Likewise.
* gcc.dg/vect/vect-outer-3c.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-6.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s16a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s16b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8c.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u16a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise.
* gcc.dg/vect/vect-widen-mult-s16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-s8.c: Likewise.
* gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-u8.c: Likewise.
* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise.
From-SVN: r147286
Richard Guenther [Fri, 8 May 2009 12:24:22 +0000 (12:24 +0000)]
re PR tree-optimization/40062 (high memory usage and compile time in SCEV cprop with -O3)
2009-05-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40062
* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
Avoid exponential behavior.
From-SVN: r147283
Paolo Bonzini [Fri, 8 May 2009 12:22:30 +0000 (12:22 +0000)]
re PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused by r118475)
2009-05-08 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/33928
PR 26854
* fwprop.c (use_def_ref, get_def_for_use, bitmap_only_bit_bitween,
process_uses, build_single_def_use_links): New.
(update_df): Update use_def_ref.
(forward_propagate_into): Use get_def_for_use instead of use-def
chains.
(fwprop_init): Call build_single_def_use_links and let it initialize
dataflow.
(fwprop_done): Free use_def_ref.
(fwprop_addr): Eliminate duplicate call to df_set_flags.
* df-problems.c (df_rd_simulate_artificial_defs_at_top,
df_rd_simulate_one_insn): New.
(df_rd_bb_local_compute_process_def): Update head comment.
(df_chain_create_bb): Use the new RD simulation functions.
* df.h (df_rd_simulate_artificial_defs_at_top,
df_rd_simulate_one_insn): New.
* opts.c (decode_options): Enable fwprop at -O1.
* doc/invoke.texi (-fforward-propagate): Document this.
From-SVN: r147282
Joseph Myers [Fri, 8 May 2009 10:22:08 +0000 (11:22 +0100)]
re PR c/24581 (Complex arithmetic on special cases is incorrect.)
PR c/24581
* c-typeck.c (build_binary_op): Handle arithmetic between one real
and one complex operand specially.
* tree-complex.c (some_nonzerop): Do not identify a real value as
zero if flag_signed_zeros.
testsuite:
* gcc.dg/torture/complex-sign.h: New header.
* gcc.dg/torture/complex-sign-add.c,
gcc.dg/torture/complex-sign-mixed-add.c,
gcc.dg/torture/complex-sign-mixed-div.c,
gcc.dg/torture/complex-sign-mixed-mul.c,
gcc.dg/torture/complex-sign-mixed-sub.c,
gcc.dg/torture/complex-sign-mul.c,
gcc.dg/torture/complex-sign-sub.c: New tests.
From-SVN: r147281
Janus Weil [Fri, 8 May 2009 09:08:13 +0000 (11:08 +0200)]
re PR fortran/39876 (module procedure name that collides with the GNU intrinsic)
2009-05-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/39876
* intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if
the symbol is a module procedure.
2009-05-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/39876
* gfortran.dg/intrinsic_3.f90: New.
From-SVN: r147279
Paolo Bonzini [Fri, 8 May 2009 07:51:46 +0000 (07:51 +0000)]
re PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused by r118475)
2009-05-08 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/33928
* loop-invariant.c (record_use): Fix && vs. || mishap.
From-SVN: r147274
Paolo Bonzini [Fri, 8 May 2009 06:51:12 +0000 (06:51 +0000)]
re PR rtl-optimization/33928 (30% performance slowdown in floating-point code caused by r118475)
2009-05-08 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/33928
* loop-invariant.c (struct use): Add addr_use_p.
(struct def): Add n_addr_uses.
(struct invariant): Add cheap_address.
(create_new_invariant): Set cheap_address.
(record_use): Accept df_ref. Set addr_use_p and update n_addr_uses.
(record_uses): Pass df_ref to record_use.
(get_inv_cost): Do not add inv->cost to comp_cost for cheap addresses used
only as such.
From-SVN: r147270
Tobias Burnus [Fri, 8 May 2009 06:21:15 +0000 (08:21 +0200)]
invoke.texi: Add do/recursion to the -fcheck= summary.
2009-05-08 Tobias Burnus <burnus@net-b.de>
* invoke.texi: Add do/recursion to the -fcheck= summary.
From-SVN: r147268
Kaz Kojima [Fri, 8 May 2009 03:39:09 +0000 (03:39 +0000)]
sh.c: Do not include c-pragma.h.
* config/sh/sh.c: Do not include c-pragma.h.
From-SVN: r147267
Andrew Pinski [Fri, 8 May 2009 01:01:34 +0000 (01:01 +0000)]
spu.c: Remove include of c-common.h.
2009-05-07 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/spu.c: Remove include of c-common.h.
From-SVN: r147266
Paolo Carlini [Fri, 8 May 2009 00:49:35 +0000 (00:49 +0000)]
throw_allocator.h: Remove redundante include.
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h: Remove redundante include.
From-SVN: r147265
Paolo Carlini [Fri, 8 May 2009 00:39:28 +0000 (00:39 +0000)]
throw_allocator.h (throw_allocator_base): Avoid out of line member functions definitions.
2009-05-07 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/throw_allocator.h (throw_allocator_base): Avoid
out of line member functions definitions.
(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
Remove, use static locals instead.
(throw_allocator_base::do_check_allocated, print_to_string): Declare.
* src/throw_allocator.cc: New.
* src/Makefile.am: Add.
* config/abi/pre/gnu.ver: Add exports.
* src/Makefile.in: Regenerate.
From-SVN: r147264
GCC Administrator [Fri, 8 May 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r147263
Janis Johnson [Thu, 7 May 2009 22:34:08 +0000 (22:34 +0000)]
re PR c/39037 (FLOAT_CONST_DECIMAL64 pragma not supported)
gcc/
PR c/39037
* c-common.h (mark_valid_location_for_stdc_pragma,
valid_location_for_stdc_pragma_p, set_float_const_decimal64,
clear_float_const_decimal64, float_const_decimal64_p): New.
* c.opt (Wunsuffixed-float-constants): New.
* c-lex.c (interpret_float): Use pragma FLOAT_CONST_DECIMAL64 for
unsuffixed float constant, handle new warning.
* c-cppbuiltin.c (c_cpp_builtins): Use cast for double constants.
* c-decl.c (c_scope): New flag float_const_decimal64.
(set_float_const_decimal64, clear_float_const_decimal64,
float_const_decimal64_p): New.
(push_scope): Set new flag.
* c-parser.c (c_parser_translation_unit): Mark when it's valid
to use STDC pragmas.
(c_parser_external_declaration): Ditto.
(c_parser_compound_statement_nostart): Ditto.
* c-pragma.c (valid_location_for_stdc_pragma,
mark_valid_location_for_stdc_pragma,
valid_location_for_stdc_pragma_p, handle_stdc_pragma,
handle_pragma_float_const_decimal64): New.
(init_pragma): Register new pragma FLOAT_CONST_DECIMAL64.
* cp/semantics.c (valid_location_for_stdc_pragma_p,
set_float_const_decimal64, clear_float_const_decimal64,
float_const_decimal64_p): New dummy functions.
* doc/extend.texi (Decimal Float): Remove statement that the
pragma, and suffix for double constants, are not supported.
* doc/invoke.texi (Warning Options): List new option.
(-Wunsuffixed-float-constants): New.
gcc/testsuite
PR c/39037
* gcc.dg/Wunsuffixed-float-constants-1.c: New test.
* gcc.dg/cpp/pragma-float-const-decimal64-1.c: New test.
* gcc.dg/dfp/float-constant-double.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-1.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-2.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-3.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-4.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-5.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-6.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-7.c: New test.
* gcc.dg/dfp/pragma-float-const-decimal64-8.c: New test.
* g++.dg/cpp/pragma-float-const-decimal64-1.C: New test.
From-SVN: r147259
Francois-Xavier Coudert [Thu, 7 May 2009 22:14:23 +0000 (22:14 +0000)]
re PR fortran/38830 (Document lack of "Variable Format Expression" support)
PR fortran/38830
* gfortran.texi: Document that we don't support variable FORMAT
expressions.
From-SVN: r147258
Francois-Xavier Coudert [Thu, 7 May 2009 22:01:34 +0000 (22:01 +0000)]
re PR fortran/39576 (gcc/fortran/error.c's error.c missing "break")
PR fortran/39576
* error.c (error_print): Add missing break statement.
From-SVN: r147257