Eric Botcazou [Sun, 18 Feb 2007 14:03:24 +0000 (14:03 +0000)]
tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
From-SVN: r122097
Eric Botcazou [Sun, 18 Feb 2007 13:52:46 +0000 (13:52 +0000)]
calls.c (mem_overlaps_already_clobbered_arg_p): Return true for arg pointer based indexed addressing.
* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
for arg pointer based indexed addressing.
From-SVN: r122095
Eric Botcazou [Sun, 18 Feb 2007 13:43:05 +0000 (13:43 +0000)]
test_prio_p.adb: Compile with -gnatws.
* gnat.dg/test_prio_p.adb: Compile with -gnatws.
* lib/gnat.exp (gnat_target_compile): Pass -f to the driver.
From-SVN: r122093
Manuel López-Ibáñez [Sun, 18 Feb 2007 11:55:53 +0000 (11:55 +0000)]
objc-list.h (list_free): Add keyword 'inline' to avoid unused warning.
2007-02-18 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* objc/objc-list.h (list_free): Add keyword 'inline' to avoid
unused warning.
From-SVN: r122090
Paolo Carlini [Sun, 18 Feb 2007 11:32:44 +0000 (11:32 +0000)]
PR libstdc++/28080 (partial)
2007-02-18 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/28080 (partial)
* include/bits/stl_algobase.h: Do not include <climits>, use
std::numeric_limits.
* include/bits/stl_bvector.h: Use __CHAR_BIT__.
* config/locale/gnu/codecvt_members.cc: Include <climits>.
* config/locale/generic/codecvt_members.cc: Likewise.
* include/std/string: Do not include <algorithm>; do not include
<memory>, include <bits/allocator.h> instead.
* include/ext/vstring_fwd.h: Likewise.
* include/ext/vstring_util.h: Do not include <algorithm>.
* include/tr1/hashtable_policy.h: Include <algorithm>.
* testsuite/21_strings/basic_string/replace/char/1.cc: Likewise.
* testsuite/21_strings/basic_string/replace/wchar_t/1.cc: Likewise.
* testsuite/23_containers/bitset/cons/1.cc: Likewise.
* testsuite/util/testsuite_character.h: Likewise.
* config/locale/gnu/codecvt_members.cc: Also include <cstdlib>,
for MB_CUR_MAX.
* config/locale/generic/codecvt_members.cc: Likewise.
From-SVN: r122089
Kazu Hirata [Sun, 18 Feb 2007 02:18:25 +0000 (02:18 +0000)]
ia64.h, [...]: Follow spelling conventions.
* config/ia64/ia64.h, config/ia64/ia64.md,
config/ia64/predicates.md, config/ia64/sysv4.h: Follow
spelling conventions.
From-SVN: r122087
Kazu Hirata [Sun, 18 Feb 2007 01:51:00 +0000 (01:51 +0000)]
* class.c: Fix a comment typo.
From-SVN: r122086
Kazu Hirata [Sun, 18 Feb 2007 01:45:58 +0000 (01:45 +0000)]
* objc/objc-act.c: Fix comment typos.
From-SVN: r122085
Roman Zippel [Sun, 18 Feb 2007 01:30:58 +0000 (01:30 +0000)]
m68k.c (split_di): New.
* config/m68k/m68k.c (split_di): New.
* config/m68k/m68k-protos.h: Declare split_di.
* config/m68k/m68k.md (extendsidi2*,ashldi3*,ashrdi3*,lshrdi3*):
Improve predicate handling and split constant shifts.
From-SVN: r122084
Roman Zippel [Sun, 18 Feb 2007 01:20:15 +0000 (01:20 +0000)]
m68k.md (extv,extzv,insv): disable dynamic parameter for register bitfield operations...
* config/m68k/m68k.md (extv,extzv,insv): disable dynamic
parameter for register bitfield operations, general predicates
cleanup
From-SVN: r122083
Roman Zippel [Sun, 18 Feb 2007 01:16:55 +0000 (01:16 +0000)]
linux.h (MD_UNWIND_SUPPORT): Define.
* config/m68k/linux.h (MD_UNWIND_SUPPORT): Define.
* config/m68k/linux-unwind.h: New file.
From-SVN: r122082
Kazu Hirata [Sun, 18 Feb 2007 00:59:36 +0000 (00:59 +0000)]
* decl.c, tree.c: Fix comment typos.
From-SVN: r122081
Kazu Hirata [Sun, 18 Feb 2007 00:52:51 +0000 (00:52 +0000)]
cfgloop.c, [...]: Fix comment typos.
* cfgloop.c, config/alpha/alpha.c, config/bfin/bfin.c,
config/i386/athlon.md, config/ia64/ia64.md,
config/rs6000/rs6000.c, config/s390/s390.c, config/spu/spu.md,
df-problems.c, df.h, fold-const.c, ipa-cp.c, ipa-inline.c,
ipa-prop.h, see.c, struct-equiv.c, tree-inline.c,
tree-ssa-loop-niter.c, tree-vect-analyze.c,
tree-vect-transform.c: Fix comment typos.
From-SVN: r122080
GCC Administrator [Sun, 18 Feb 2007 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r122078
Mark Mitchell [Sat, 17 Feb 2007 13:35:03 +0000 (13:35 +0000)]
Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com>
2007-02-17 Mark Mitchell <mark@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
Vladimir Prus <vladimir@codesourcery.com
Joseph Myers <joseph@codesourcery.com>
* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Fix quoting.
* configure: Regenerate.
Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
From-SVN: r122073
Kazu Hirata [Sat, 17 Feb 2007 04:01:30 +0000 (04:01 +0000)]
sched-deps.c (find_insn_list): Remove.
* sched-deps.c (find_insn_list): Remove.
* sched-int.h: Remove the prototype for find_insn_list.
From-SVN: r122069
Geoffrey Keating [Sat, 17 Feb 2007 01:47:38 +0000 (01:47 +0000)]
darwin.h (LINK_SPEC): Always pass -macosx_version_min to linker.
* config/darwin.h (LINK_SPEC): Always pass -macosx_version_min
to linker.
(DARWIN_EXTRA_SPECS): Add %(darwin_minversion).
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Just call
darwin_rs6000_override_options.
(C_COMMON_OVERRIDE_OPTIONS): Expect
darwin_macosx_version_min to be non-NULL always.
(TARGET_C99_FUNCTIONS): Likewise.
(CC1_SPEC): Always pass -mmacosx-version-min to cc1*.
(DARWIN_MINVERSION_SPEC): New.
* config/rs6000/rs6000.c (darwin_rs6000_override_options): New.
* config/i386/darwin.h (CC1_SPEC): Always pass -mmacosx-version-min
to cc1*.
(DARWIN_MINVERSION_SPEC): New.
* config/darwin.opt (mmacosx-version-min): Initialize to non-NULL
value.
* config/darwin-c.c (darwin_cpp_builtins): Expect
darwin_macosx_version_min to be non-NULL always.
From-SVN: r122067
Geoffrey Keating [Sat, 17 Feb 2007 01:28:16 +0000 (01:28 +0000)]
* config/rs6000/rs6000.c: Clean up trailing whitespace.
From-SVN: r122066
Keith Seitz [Sat, 17 Feb 2007 01:21:28 +0000 (01:21 +0000)]
* gnu/classpath/jdwp/natVMVirtualMachine.cc
(get_line_table): New function.
(handle_single_step): New function.
(jdwpSingleStepCB): New function.
(jdwpVMInitCB): Define a JVMTI single step
callback, but don't enable it until needed.
From-SVN: r122065
GCC Administrator [Sat, 17 Feb 2007 00:17:46 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r122063
Eric Botcazou [Fri, 16 Feb 2007 23:40:52 +0000 (23:40 +0000)]
trans.c (call_to_gnu): Use build_call_list instead of build3 to build the call expression.
* trans.c (call_to_gnu): Use build_call_list instead of build3 to
build the call expression.
(gnat_stabilize_reference_1): Handle tcc_vl_exp.
* utils.c (max_size) <tcc_exceptional>: Delete.
<tcc_vl_exp>: New case.
<tcc_expression>: Delete CALL_EXPR subcase.
(build_global_cdtor): Use build_call_nary instead of build3.
* utils2.c (build_call_1_expr): Likewise.
(build_call_2_expr): Likewise.
(build_call_0_expr): Likewise.
(build_call_alloc_dealloc): Likewise.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r122058
David Daney [Fri, 16 Feb 2007 21:23:10 +0000 (21:23 +0000)]
Thread.java (Thread(ThreadGroup, Runnable, String)): Pass new parameter constructor.
* java/lang/Thread.java (Thread(ThreadGroup, Runnable, String)): Pass
new parameter constructor.
(Thread(ThreadGroup, Runnable, String, long)): Same.
(Thread(String, boolean)): New constructor.
(Thread(Thread, ThreadGroup, Runnable, String): Add parameter
noInheritableThreadLocal, don't call
InheritableThreadLocal.newChildThread if set.
* java/lang/PosixProcess.java(ProcessManager()): Set
noInheritableThreadLocal in super.
* java/lang/natThread.cc (_Jv_AttachCurrentThread): Pass new
parameter to Thread constructor.
(_Jv_AttachCurrentThreadAsDaemon): Same.
* java/lang/Thread.h: Regenerate.
* classpath/lib/java/lang/Thread.class: Same.
* classpath/lib/java/lang/PosixProcess$EOFInputStream.class: Same.
* classpath/lib/java/lang/PosixProcess.class: Same.
* classpath/lib/java/lang/Thread$State.class: Same.
* classpath/lib/java/lang/PosixProcess$ProcessManager.class: Same.
From-SVN: r122054
Edwin Steiner [Fri, 16 Feb 2007 19:19:11 +0000 (19:19 +0000)]
re PR classpath/28652 (JBoss fails to start due class cast exception in the management classes)
2006-10-14 Edwin Steiner <edwin.steiner@gmx.net>
PR classpath/28652:
* javax/management/MBeanInfo.java (MBeanInfo):
Use clone to duplicate the arrays in order to
preserve the array type.
From-SVN: r122050
Uros Bizjak [Fri, 16 Feb 2007 18:36:01 +0000 (19:36 +0100)]
i386.h (x86_use_xchgb): New.
* config/i386/i386.h (x86_use_xchgb): New.
(TARGET_USE_XCHGB): New macro.
* config/i386/i386.c (x86_use_xchgb): Set for PENT4.
* config/i386/i386.md (*rotlhi3_1 splitter, *rotrhi3_1 splitter):
Split after reload into bswaphi for shifts of 8.
(bswaphi_lowpart): Generate rolw insn for HImode byte swaps.
(*bswaphi_lowpart_1): Generate xchgb for Q registers for TARGET_XCHGB
or when optimizing for size.
testsuite/ChangeLog:
* gcc.target/i386/builtin-bswap-1.c: Remove -march=nocona.
* gcc.target/i386/builtin-bswap-3.c: Ditto.
* gcc.target/i386/xchg-1.c: New test.
* gcc.target/i386/xchg-2.c: New test.
From-SVN: r122049
Kyle Galloway [Fri, 16 Feb 2007 18:32:07 +0000 (18:32 +0000)]
interpret.cc: Add extra DEBUG_LOCALS_INSN calls for multi-slot variables to maintain type info.
2007-02-16 Kyle Galloway <kgallowa@redhat.com>
* interpret.cc: Add extra DEBUG_LOCALS_INSN calls for multi-slot
variables to maintain type info.
* interpret-run.cc: Add local variable info to frame in the debug
interpreter.
* jvmti.cc (getLocalFrame): New method.
(_Jv_JVMTI_GetLocalObject): New method.
(_Jv_JVMTI_GetLocallInt): New method.
(_Jv_JVMTI_GetLocalFloat): New method.
(_Jv_JVMTI_GetLocalLong): New method.
(_Jv_JVMTI_GetLocalDouble): New method.
(_Jv_JVMTI_SetLocalObject): New method.
(_Jv_JVMTI_SetLocalInt): New method.
(_Jv_JVMTI_SetLocalFloat): New method.
(_Jv_JVMTI_SetLocalLong): New method.
(_Jv_JVMTI_SetLocalDouble): New method.
From-SVN: r122048
Gary Benson [Fri, 16 Feb 2007 14:54:25 +0000 (14:54 +0000)]
2007-02-16 Gary Benson <gbenson@redhat.com>
* gnu/gcj/tools/gcj_dbtool/Main.java
(bytesToString): Don't lose zeros from within the digest.
From-SVN: r122045
Paolo Carlini [Fri, 16 Feb 2007 14:26:21 +0000 (14:26 +0000)]
revert: re PR middle-end/30768 (ICE in ext/pb_ds/regression/list_update_data_map_rand.cc)
2007-02-16 Paolo Carlini <pcarlini@suse.de>
Revert.
2007-02-14 Hans-Peter Nilsson <hp@axis.com>
PR middle-end/30768
* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc:
Xfail ICE for cris-*-*.
From-SVN: r122044
Andrew Haley [Fri, 16 Feb 2007 13:51:04 +0000 (13:51 +0000)]
[multiple changes]
2007-02-15 Andrew Haley <aph@redhat.com>
* Makefile.am (nat_source_files): Remove
java/lang/management/natVMManagementFactory.cc.
* java/lang/Thread.java (getStackTrace): Use reflection to call
the ManagementFactory.
* java/lang/management/VMManagementFactory.java: Remove native
methods.
* java/lang/management/natVMManagementFactory.cc: Deleted.
* sources.am: Regnerate.
* scripts/makemake.tcl: Add new "bcheaders" type.
Move java/lang/management and gnu/classpath/management to "bc".
Move gnu/java/lang/management to "bcheaders".
2007-02-16 Andrew Haley <aph@redhat.com>
* gnu/java/lang/management/MemoryMXBeanImpl.java,
javax/management/MBeanServerDelegate.java: Use
gnu.javax.management.ListenerData rather than
gnu.classpath.ListenerData.
* gnu/javax/management/ListenerData.java: Move here from
gnu/classpath/ListenerData.java.
From-SVN: r122041
Richard Guenther [Fri, 16 Feb 2007 13:41:03 +0000 (13:41 +0000)]
fold-const.c (tree_swap_operands_p): Treat SSA_NAMEs like DECLs but prefer SSA_NAMEs over DECLs.
2007-02-16 Richard Guenther <rguenther@suse.de>
Christian Bruel <christian.bruel@st.com>
* fold-const.c (tree_swap_operands_p): Treat SSA_NAMEs like
DECLs but prefer SSA_NAMEs over DECLs.
* gcc.dg/strict-overflow-5.c: New testcase.
Co-Authored-By: Christian Bruel <christian.bruel@st.com>
From-SVN: r122040
Francois-Xavier Coudert [Fri, 16 Feb 2007 10:07:00 +0000 (11:07 +0100)]
* runtime/memory.c (deallocate): Correct comment.
From-SVN: r122038
Tobias Burnus [Fri, 16 Feb 2007 09:55:20 +0000 (10:55 +0100)]
re PR fortran/30793 (Segfault on calling a function returning a pointer)
fortran/
2007-02-16 Tobias Burnus <burnus@net-b.de>
PR fortran/30793
* trans-decl.c (gfc_generate_function_code): Do not initialize
pointers to derived components.
testsuite/
2007-02-16 Tobias Burnus <burnus@net-b.de>
PR fortran/30793
* gfortran.dg/func_derived_4.f90: New test.
From-SVN: r122037
Richard Guenther [Fri, 16 Feb 2007 09:34:24 +0000 (09:34 +0000)]
tree-flow-inline.h (single_imm_use_p): Remove.
2007-02-16 Richard Guenther <rguenther@suse.de>
* tree-flow-inline.h (single_imm_use_p): Remove.
(zero_imm_uses_p): Likewise.
* tree-ssa-coalesce.c (create_outofssa_var_map): Use has_single_use
instead of single_imm_use_p.
* tree-cfg.c (replace_uses_by): Use has_zero_use instead of
zero_imm_uses_p.
From-SVN: r122036
Ralf Wildenhues [Fri, 16 Feb 2007 08:53:51 +0000 (08:53 +0000)]
re PR other/27843 (gcc-4.2-
20060527 make install fails on alphaev68-dec-osf5.1b)
2007-02-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR other/27843
* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
nested double- and backquotes.
From-SVN: r122032
Brooks Moses [Fri, 16 Feb 2007 04:31:21 +0000 (04:31 +0000)]
* Makefile.in: Added "pdf" target to .PHONY.
From-SVN: r122031
Roger Sayle [Fri, 16 Feb 2007 03:38:22 +0000 (03:38 +0000)]
re PR middle-end/30391 (ICE at -O1 with conditional expressions and GIMPLE_MODIFY_STMT)
PR middle-end/30391
* tree.c (expr_align): Handle MODIFY_EXPR. GIMPLE_MODIFY_STMT
should be unreachable.
(build2_stat): Allow construction of MODIFY_EXPR at any time.
For the time being redirect GIMPLE_MODIFY_STMT to the new
(renamed) build_gimple_modify_stmt_stat.
(build2_gimple_stat): Rename to...
(build_gimple_modify_stmt_stat): Now longer take a CODE argument.
Always build a GIMPLE_MODIFY_STMT node.
* tree.h (build2_gimple, build2_gimple_stat): Delete.
(build_gimple_modify_stmt, build_gimple_modify_stmt_stat): New
declarations.
* tree-cfg.c (factor_computed_gotos, tree_merge_blocks,
gimplify_val): Use build_gimple_modify_stmt instead of build2_gimple.
* tree-complex.c (set_component_ssa_name, expand_complex_move,
expand_complex_div_wide): Likewise.
* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
* tree-ssa-loop-im.c (schedule_sm): Likewise.
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Likewise.
* tree-ssa-loop-manip.c (create_iv): Likewise.
* tree-ssa-phiopt.c (conditional_replacement, minmax_replacement,
abs_replacement): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces, poolify_modify_stmt,
realify_fake_stores): Likewise.
* builtins.c (std_expand_builtin_va_start): Build a MODIFY_EXPR
node rather than a GIMPLE_MODIFY_STMT node.
(std_gimpify_va_arg_expr, expand_builtin_va_copy,
fold_builtin_memset, fold_builtin_memory_op, do_mpfr_sincos):
Likewise.
(integer_valued_real_p): Handle MODIFY_EXPR, not GIMPLE_MODIFY_STMT.
* expr.c (expand_expr_real_1): Handle both MODIFY_EXPR and
GIMPLE_MODIFY_STMT.
* gfortran.dg/pr30391-1.f90: New test case.
From-SVN: r122030
Andrew Pinski [Fri, 16 Feb 2007 01:27:42 +0000 (01:27 +0000)]
re PR middle-end/30433 (no longer folding __complex__(0.0, 1.0) == __complex__(1.0, 0.0))
2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30433
* fold-const.c (fold_comparison): Add back the
folding of constant complex comparisions.
2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30433
* gcc.c-torture/compile/pr30433.c: New testcase to check
that complex constants comparisions are foldded.
From-SVN: r122029
Andrew Pinski [Fri, 16 Feb 2007 01:23:35 +0000 (01:23 +0000)]
re PR c++/30158 (ICE with invalid statement-expressions)
2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/30158
* semantics.c (finish_stmt_expr_expr): Set TREE_TYPE of the
statement expression if we had an error mark node.
2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/30158
* g++.dg/ext/stmtexpr10.C: New testcase.
From-SVN: r122028
Andrew Pinski [Fri, 16 Feb 2007 01:19:23 +0000 (01:19 +0000)]
re PR middle-end/30729 (value computed is not used warning with unused result of va_arg)
2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30729
* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
effects unknown to this function, return early.
2007-02-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30729
* gcc.dg/Wunused-value-2.c: New testcase.
From-SVN: r122027
Matthias Klose [Fri, 16 Feb 2007 01:02:57 +0000 (01:02 +0000)]
texi2pod.pl: Handle @subsubsection, ignore @anchor.
2007-02-16 Matthias Klose <doko@debian.org>
* texi2pod.pl: Handle @subsubsection, ignore @anchor.
From-SVN: r122026
Ian Lance Taylor [Fri, 16 Feb 2007 00:42:11 +0000 (00:42 +0000)]
lower-subreg.c (move_eh_region_note): New static function.
./: * lower-subreg.c (move_eh_region_note): New static function.
(resolve_simple_move): Call it.
(decompose_multiword_subregs): Track blocks for which we resolve a
simple move which is also a control flow insn. Pass them to
find_many_sub_basic_blocks.
(pass_lower_subreg): Add TODO_verify_flow.
(pass_lower_subreg2): Likewise.
testsuite/:
* g++.dg/eh/subreg-1.C: New test.
From-SVN: r122025
GCC Administrator [Fri, 16 Feb 2007 00:17:39 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r122023
Kyle Galloway [Fri, 16 Feb 2007 00:05:39 +0000 (00:05 +0000)]
interpret.cc (_Jv_InterpMethod::check_handler): New method.
2007-02-15 Kyle Galloway <kgallowa@redhat.com>
* interpret.cc (_Jv_InterpMethod::check_handler): New method.
* interpret-run.cc: Change the catch section to report exception
events and to use the new check_handler method.
* include/java-interp.h (_Jv_InterpMethod): Add check_handler.
* gnu/gcj/jvmti/ExceptionEvent.java: New file.
* gnu/gcj/jvmti/ExceptionEvent.h: New file.
* gnu/gcj/jvmti/natExceptionEvent.cc: New file.
* libjava/classpath/lib/gnu/gcj/jvmti/ExceptionEvent.class: New
file.
* sources.am: Added ExceptionEvent.java.
* Makefile.am: Added natExceptionEvent.cc
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
From-SVN: r122019
Sandra Loosemore [Thu, 15 Feb 2007 23:50:49 +0000 (18:50 -0500)]
tree.h (enum tree_code_class): Add tcc_vl_exp.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* tree.h (enum tree_code_class): Add tcc_vl_exp.
(VL_EXP_CLASS_P): New.
(TREE_OPERAND_CHECK): Use TREE_OPERAND_LENGTH instead of
TREE_CODE_LENGTH.
(TREE_OPERAND_CHECK_CODE): Likewise.
(GIMPLE_STMT_OPERAND_CHECK): Likewise.
(TREE_RTL_OPERAND_CHECK): Likewise.
(tree_operand_check_failed): Make second parameter the whole tree
instead of its code. Fixed callers.
(VL_EXP_CHECK): New.
(TREE_OPERAND_LENGTH): New.
(VL_EXP_OPERAND_LENGTH): New.
(CALL_EXPR_FN): New.
(CALL_EXPR_STATIC_CHAIN): New.
(CALL_EXPR_ARGS): New.
(CALL_EXPR_ARG): New.
(call_expr_nargs): New.
(CALL_EXPR_ARGP): New.
(build_nt_call_list): Declare.
(build_vl_exp_stat): Declare.
(build_vl_exp): New.
(build_call_list): Declare.
(build_call_nary): Declare.
(build_call_valist): Declare.
(build_call_array): Declare.
(call_expr_arg): Declare.
(call_expr_argp): Declare.
(call_expr_arglist): Declare.
(fold_build_call_list): Declare.
(fold_build_call_list_initializer): Declare.
(fold_call_expr): Declare to replace fold_builtin.
(fold_builtin_fputs): Update to agree with modified definition.
(fold_builtin_strcpy): Likewise.
(fold_builtin_strncpy): Likewise.
(fold_builtin_memory_chk): Likewise.
(fold_builtin_stxcpy_chk): Likewise.
(fold_builtin_strncpy_chk): Likewise.
(fold_builtin_next_arg): Likewise.
(fold_build_call_expr): Declare.
(fold_builtin_call_list): Declare.
(fold_builtin_call_valist): Declare.
(build_call_expr): Declare.
(validate_arglist): Update to agree with modified definition.
(tree_operand_length): New.
(call_expr_arg_iterator): New.
(init_call_expr_arg_iterator): New.
(next_call_expr_arg): New.
(first_call_expr_arg): New.
(more_call_expr_args_p): New.
(FOR_EACH_CALL_EXPR_ARG): New.
* tree.c (tree_code_class_string): Add entries for tcc_vl_exp
and tcc_gimple_stmt.
(tree_code_size): Update documentation. Use sizeof (tree) rather
than sizeof (char *).
(tree_size): Likewise. Add case for tcc_vl_exp.
(tree_node_structure): Add case for tcc_vl_exp.
(contains_placeholder_p): Likewise.
(substitute_in_expr): Likewise.
(substitute_placeholder_in_expr): Likewise.
(stabilize_reference_1): Likewise.
(build3_stat): Remove logic for CALL_EXPRs. Replace with assertion
to diagnose breakage of this interface for constructing CALL_EXPRs.
(build_nt): Add similar assertion here.
(build_nt_call_list): New.
(simple_cst_equal) <CALL_EXPR>: Rewrite to use new accessors.
(iterative_hash_expr): Use TREE_OPERAND_LENGTH instead of
TREE_CODE_LENGTH.
(get_callee_fndecl): Use new CALL_EXPR accessors.
(tree_operand_check_failed): Change parameters to pass entire node
instead of its code, so that we can call TREE_OPERAND_LENGTH on it.
(process_call_operands): New.
(build_vl_exp_stat): New.
(build_call_list): New.
(build_call_nary): New.
(build_call_valist): New.
(build_call_array): New.
(walk_tree): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
(call_expr_arglist): New.
* tree.def (CALL_EXPR): Change representation of CALL_EXPRs to use
tcc_vl_exp instead of a fixed-size tcc_expression.
* doc/c-tree.texi (CALL_EXPR): Document new representation and
accessors for CALL_EXPRs.
(AGGR_INIT_EXPR): Likewise.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* builtins.c (c_strlen): Return NULL_TREE instead of 0.
(expand_builtin_nonlocal_goto): Change parameter to be entire
CALL_EXPR instead of an arglist. Use new CALL_EXPR accessors.
(expand_builtin_prefetch): Likewise.
(expand_builtin_classify_type): Likewise.
(mathfn_built_in): Return NULL_TREE instead of 0.
(expand_errno_check): Use new CALL_EXPR accessors.
(expand_builtin_mathfn): Use new CALL_EXPR accessors and constructors.
Return NULL_RTX instead of 0.
(expand_builtin_mathfn_2): Likewise.
(expand_builtin_mathfn_3): Likewise.
(expand_builtin_interclass_mathfn): Likewise.
(expand_builtin_sincos): Likewise.
(expand_builtin_cexpi): Likewise.
(expand_builtin_int_roundingfn): Likewise.
(expand_builtin_int_roundingfn_2): Likewise.
(expand_builtin_pow): Likewise.
(expand_builtin_powi): Likewise.
(expand_builtin_strlen): Pass entire CALL_EXPR as parameter instead
of arglist, fixing callers appropriately. Use new CALL_EXPR
accessors and constructors. Return NULL_RTX instead of 0.
(expand_builtin_strstr): Likewise.
(expand_builtin_strchr): Likewise.
(expand_builtin_strrchr): Likewise.
(expand_builtin_strpbrk): Likewise.
(expand_builtin_memcpy): Likewise.
(expand_builtin_mempcpy): Likewise.
(expand_builtin_mempcpy_args): New.
(expand_builtin_memmove): Similarly to expand_builtin_mempcpy.
(expand_builtin_memmove_args): New.
(expand_builtin_bcopy): Similarly to expand_builtin_mempcpy.
(expand_movstr): Likewise.
(expand_builtin_strcpy): Likewise.
(expand_builtin_strcpy_args): New.
(expand_builtin_stpcpy): Similarly to expand_builtin_strcpy.
(expand_builtin_strncpy): Likewise.
(expand_builtin_memset): Likewise.
(expand_builtin_memset_args): New.
(expand_builtin_bzero): Similarly to expand_builtin_memset.
(expand_builtin_memcmp): Likewise.
(expand_builtin_strcmp): Likewise.
(expand_builtin_strncmp): Likewise.
(expand_builtin_strcat): Likewise.
(expand_builtin_strncat): Likewise.
(expand_builtin_strspn): Likewise.
(expand_builtin_strcspn): Likewise.
(expand_builtin_args_info): Likewise.
(expand_builtin_va_start): Likewise.
(gimplify_va_arg_expr): Likewise.
(expand_builtin_va_end): Likewise.
(expand_builtin_va_copy): Likewise.
(expand_builtin_frame_address): Likewise.
(expand_builtin_alloca): Likewise.
(expand_builtin_bswap): Likewise.
(expand_builtin_unop): Likewise.
(expand_builtin_fputs): Likewise.
(expand_builtin_expect): Likewise.
(expand_builtin_fabs): Likewise.
(expand_builtin_copysign): Likewise.
(expand_builtin_printf): Likewise.
(expand_builtin_fprintf): Likewise.
(expand_builtin_sprintf): Likewise.
(expand_builtin_init_trampoline): Likewise.
(expand_builtin_signbit): Likewise.
(expand_builtin_fork_or_exec): Likewise.
(expand_builtin_sync_operation): Likewise.
(expand_builtin_compare_and_swap): Likewise.
(expand_builtin_lock_test_and_set): Likewise.
(expand_builtin_lock_release): Likewise.
(expand_builtin): Likewise.
(builtin_mathfn_code): Likewise.
(fold_builtin_constant_p): Pass call arguments individually instead
of as an arglist, fixing callers appropriately. Use new CALL_EXPR
accessors and constructors. Return NULL_TREE instead of 0.
(fold_builtin_expect): Likewise.
(fold_builtin_classify_type): Likewise.
(fold_builtin_strlen): Likewise.
(fold_builtin_nan): Likewise.
(integer_valued_real_p): Likewise.
(fold_trunc_transparent_mathfn): Likewise.
(fold_fixed_mathfn): Likewise.
(fold_builtin_cabs): Likewise.
(fold_builtin_sqrt): Likewise.
(fold_builtin_cbrt): Likewise.
(fold_builtin_cos): Likewise.
(fold_builtin_cosh): Likewise.
(fold_builtin_tan): Likewise.
(fold_builtin_sincos): Likewise.
(fold_builtin_cexp): Likewise.
(fold_builtin_trunc): Likewise.
(fold_builtin_floor): Likewise.
(fold_builtin_ceil): Likewise.
(fold_builtin_round): Likewise.
(fold_builtin_int_roundingfn): Likewise.
(fold_builtin_bitop): Likewise.
(fold_builtin_bswap): Likewise.
(fold_builtin_logarithm): Likewise.
(fold_builtin_hypot): Likewise.
(fold_builtin_pow): Likewise.
(fold_builtin_powi): Likewise.
(fold_builtin_exponent): Likewise.
(fold_builtin_memset): Likewise.
(fold_builtin_bzero): Likewise.
(fold_builtin_memory_op): Likewise.
(fold_builtin_bcopy): Deleted; call site changed to invoke
fold_builtin_memory_op directly.
(fold_builtin_strcpy): Similarly as for fold_builtin_memory_op.
(fold_builtin_strncpy): Likewise.
(fold_builtin_memcmp): Likewise.
(fold_builtin_strcmp): Likewise.
(fold_builtin_strncmp): Likewise.
(fold_builtin_signbit): Likewise.
(fold_builtin_copysign): Likewise.
(fold_builtin_isascii): Likewise.
(fold_builtin_toascii): Likewise.
(fold_builtin_isdigit): Likewise.
(fold_builtin_fabs): Likewise.
(fold_builtin_abs): Likewise.
(fold_builtin_fmin_fmax): Likewise.
(fold_builtin_carg): Likewise.
(fold_builtin_classify): Likewise.
(fold_builtin_unordered_cmp): Likewise.
(fold_builtin_0, fold_builtin_2, fold_builtin_3, fold_builtin_4):
New functions split out from fold_builtin_1.
(fold_builtin_n): New.
(fold_builtin_varargs): New.
(fold_builtin): Deleted. Most callers changed to use fold_call_expr
instead.
(fold_call_expr): New.
(build_function_call_expr): Rewrite to use new helper function.
(fold_builtin_call_list): New.
(build_call_expr): New.
(fold_builtin_call_valist): New.
(rewrite_call_expr): New.
(validate_arg): New.
(validate_arglist): Change parameter to be entire CALL_EXPR instead
of an arglist. Change return type to bool. Use new CALL_EXPR
accessors.
(fold_builtin_strstr): Pass call arguments individually instead
of as an arglist, fixing callers appropriately. Use new CALL_EXPR
accessors and constructors. Return NULL_TREE instead of 0.
(fold_builtin_strchr): Likewise.
(fold_builtin_strrchr): Likewise.
(fold_builtin_strpbrk): Likewise.
(fold_builtin_strcat): Likewise.
(fold_builtin_strncat): Likewise.
(fold_builtin_strspn): Likewise.
(fold_builtin_strcspn): Likewise.
(fold_builtin_fputs): Likewise.
(fold_builtin_next_arg): Likewise.
(fold_builtin_sprintf): Likewise.
(expand_builtin_object_size): Use new CALL_EXPR accessors. Use
NULL_RTX instead of 0.
(expand_builtin_memory_chk): Likewise.
(maybe_emit_chk_warning): Likewise.
(maybe_emit_sprintf_chk_warning): Likewise.
(fold_builtin_object_size): Pass call arguments individually instead
of as an arglist, fixing callers appropriately. Use new CALL_EXPR
accessors and constructors. Return NULL_TREE instead of 0.
(fold_builtin_memory_chk): Likewise.
(fold_builtin_stxcpy_chk): Likewise.
(fold_builtin_strncpy_chk): Likewise.
(fold_builtin_strcat_chk): Likewise.
(fold_builtin_strcat_chk): Likewise.
(fold_builtin_strncat_chk): Likewise.
(fold_builtin_sprintf_chk): Likewise.
(fold_builtin_snprintf_chk): Likewise.
(fold_builtin_printf): Likewise.
(fold_builtin_vprintf): Likewise.
* fold-const.c (negate_expr_p): Use new CALL_EXPR accessors and
constructors.
(operand_equal_p): Add separate tcc_vl_exp/CALL_EXPR case.
(make_range): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
(extract_muldiv_1): Add VL_EXP_CLASS_P case.
(fold_mathfn_compare): Use new CALL_EXPR accessors and constructors.
(fold_unary): Likewise.
(fold_binary): Likewise.
(fold_ternary): Remove CALL_EXPR case, since they are no longer
ternary expressions.
(fold): Add logic for tcc_vl_exp.
(fold_checksum_tree): Make it know about tcc_vl_exp. Use
TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
(fold_build3_stat): Add assertion to flag broken interface for
constructing CALL_EXPRs.
(fold_build_call_list): New.
(fold_build_call_list_initializer): New.
(tree_expr_nonnegative_p): Use new CALL_EXPR accessors and
constructors.
(fold_strip_sign_ops): Likewise.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* tree-dump.c (dequeue_and_dump) <CALL_EXPR>: Use new CALL_EXPR
accessors and dump arguments explicitly.
* tree-pretty-print.c (do_niy): Use TREE_OPERAND_LENGTH instead of
TREE_CODE_LENGTH.
(dump_generic_node): Use new CALL_EXPR accessors and walk arguments
explicitly.
(print_call_name): Use new CALL_EXPR accessors.
* print-tree.c (print_node): Add case tcc_vl_exp. Print
CALL_EXPR arguments explicitly instead of as a list. Use
TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
* tree-vrp.c (stmt_interesting_for_vrp): Use new CALL_EXPR accessors.
(vrp_visit_stmt): Likewise.
* tree-ssa-loop-im.c (outermost_invariant_loop_expr): Make it
know about tcc_vl_exp. Use TREE_OPERAND_LENGTH instead of
TREE_CODE_LENGTH.
(force_move_till_expr): Likewise.
* targhooks.c (default_external_stack_protect_fail): Use
build_call_expr instead of build_function_call_expr.
(default_hidden_stack_protect_fail): Likewise.
* tree-complex.c (expand_complex_libcall): Use build_call_expr to
build the call.
* cgraphbuild.c (build_cgraph_edges): Use new CALL_EXPR accessors
and walk arguments explicitly.
* tree-ssa-loop-niter.c (simplify_replace_tree): Use
TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
(expand_simple_operations): Likewise.
(infer_loop_bounds_from_array): Use new CALL_EXPR accessors.
* gengtype.c (adjust_field_tree_exp): Use TREE_OPERAND_LENGTH instead
of TREE_CODE_LENGTH.
(walk_type): Tweak walking of arrays not to blow up on CALL_EXPRs.
* optabs.c (expand_widen_pattern-expr): Use TREE_OPERAND_LENGTH
instead of TREE_CODE_LENGTH.
* value_prof.c (tree_ic): Use new CALL_EXPR accessors.
(tree_ic_transform): Likewise.
(interesting_stringop_to_profile_p): Pass entire CALL_EXPR as
parameter instead of arglist. Fix callers.
(tree_stringop_fixed_value): Use new CALL_EXPR accessors.
(tree_stringops_transform): Likewise.
(tree_indirect_call_to_profile): Likewise.
(tree_stringops_values_to_profile): Likewise.
* tree-tailcall.c (find_tail_calls): Use new CALL_EXPR iterator.
(eliminate_tail_call): Likewise.
* ipa-cp.c (ipcp_update_callgraph): Use new CALL_EXPR accessors.
* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
Use TREE_OPERAND_LENGTH and generalize to handle any number of
operands.
(instantiate_parameters_1): Can't handle tcc_vl_exp here.
* omp-low.c (build_omp_barrier): Use build_call_expr.
(lower_rec_input_clauses): Likewise.
(lower_reduction_clauses): Likewise.
(expand_parallel_call): Likewise.
(maybe_catch_exception): Likewise.
(expand_omp_for_generic): Likewise.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_sections): Likewise.
(lower_omp_single_simple): Likewise.
(lower_omp_single_copy): Likewise.
(lower_omp_master): Likewise.
(lower_omp_ordered): Likewise.
(lower_omp_critical): Likewise.
* ipa-reference.c (check-call): Use new CALL_EXPR iterator.
(scan_for_static_refs): Create tcc_vl_exp case for CALL_EXPR.
* tree-gimple.c (is_gimple_call_addr): Fix doc.
(recalculate_side_effects): Use TREE_OPERAND_LENGTH instead of
TREE_CODE_LENGTH. Add tcc_vl_exp case.
* tree-chrec.c (chrec_contains_symbols): Use TREE_OPERAND_LENGTH
and generalize to handle any number of operands.
(chrec_contains_undetermined): Likewise.
(tree_contains_chrecs): Likewise.
(evolution_function_is_invariant_rec_p): Use TREE_OPERAND_LENGTH.
* cgraphunit.c (update_call_expr): Use new CALL_EXPR accessors.
* tree-ssa-ccp.c (ccp_fold): Use new CALL_EXPR accessors. Use
fold_call_expr instead of fold_builtin.
(ccp_fold_builtin): Likewise. Update calls into builtins.c to
match declarations there.
(fold_stmt): Use new CALL_EXPR constructor and accessors. Doc
updates.
* tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Use
TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
* ipa-pure-const.c (check_call): Use new CALL_EXPR accessors.
(scan_function): Add case tcc_vl_exp for CALL_EXPR.
* tree-stdarg.c (execute_optimize_stdarg): Use new CALL_EXPR
accessors.
* tree-ssa-math-opts.c (execute_cse_sincos_1): Use build_call_expr.
(execute_cse_sincos): Use new CALL_EXPR accessors.
* tree-ssa-alias.c (find_used_portions): Use new CALL_EXPR iterator.
* gimple-low.c (lower_function_body): Use build_call_expr.
(lower_builtin_setjmp): Likewise.
* expr.c (emit_block_move_via_libcall): Use build_call_expr.
(set_storage_via_libcall): Likewise.
(safe_from_p): Add tcc_vl_exp case. Use TREE_OPERAND_LENGTH
instead of TREE_CODE_LENGTH.
(expand_expr_real_1): Use new CALL_EXPR accessors.
* tree-browser.c (store_child_info): Use TREE_OPERAND_LENGTH and
generalize to handle any number of operands.
(TB_parent_eq): Likewise.
* predict.c (expr_expected_value): Use new CALL_EXPR accessors.
(strip_builtin_expect): Likewise.
* function.c (gimplify_parameters): Use build_call_expr.
* tree-vectorizer.c (vect_is_simple_reduction): Use TREE_OPERAND_LENGTH
instead of TREE_CODE_LENGTH.
* ipa-type-escape.c (check_call): Use new CALL_EXPR iterators.
(scan_for_refs): Add case tcc_vl_exp for CALL_EXPR.
* tree-data-ref.c (get_references_in_stmt): Use new CALL_EXPR
iterators.
* gimplify.c (build_stack_save_restore): Use build_call_expr.
(gimplify_decl_expr): Likewise.
(gimplify_call_expr): Use fold_call_expr instead of fold_builtin.
Use new CALL_EXPR iterators.
(gimplify_modify_expr_to_memcpy): Use build_call_expr.
(gimplify_modify_expr_to_memset): Likewise.
(gimplify_variable_sized_compare): Likewise.
(gimplify_omp_atomic_fetch_op): Likewise.
(gimplify_omp_atomic_pipeline): Likewise.
(gimplify_omp_atomic_mutex): Likewise.
(gimplify_function_tree): Likewise.
* calls.c (alloca_call_p): Use new CALL_EXPR accessors.
(call_expr_flags): Likewise.
(expand_call): Likewise.
* except.c (expand_builtin_eh_return_data_regno): Pass entire
CALL_EXPR as parameter instead of arglist. Use new CALL_EXPR
accessors.
* coverage.c (create_coverage): Use build_call_expr.
* tree-ssa-pre.c (expression_node_pool, list_node_pool): Delete.
(temp_call_expr_obstack): New.
(pool_copy_list): Delete.
(temp_copy_call_expr): New.
(phi_translate): Add case tcc_vl_exp for CALL_EXPR. Use new
CALL_EXPR accessors. Get rid of special goo for copying argument
lists and use temp_copy_call_expr instead.
(valid_in_sets): Add case tcc_vl_exp for CALL_EXPR. Use new
CALL_EXPR accessors.
(create_expression_by_pieces): Likewise. Use build_call_array
to construct the result instead of fold_build3.
(create_value_expr_from): Add tcc_vl_exp. Delete special goo for
dealing with argument lists.
(init_pre): Remove references to expression_node_pool and
list_node_pool. Init temp_call_expr_obstack instead.
(fini_pre): Remove references to expression_node_pool and
list_node_pool.
* tree-sra.c (sra_walk_call_expr): Use new CALL_EXPR accessors
and walk arguments explicitly instead of as a list.
* tree-mudflap.c (mf_build_check_statement_for): Use build_call_expr.
(mx_register_decls): Likewise.
(mudflap_register_call): Likewise.
(mudflap_finish_file): Likewise.
* ipa-prop.c (ipa_callsite_compute_count): Use new CALL_EXPR accessors.
(ipa_callsite_compute_param): Likewise.
* tree-vect-patterns.c (vect_recog_pow_pattern): Use new CALL_EXPR
accessors and constructor.
* tree-nested.c (convert_nl_goto_reference): Use new CALL_EXPR
accessors and constructor.
(convert_tramp_reference): Likewise.
(convert_call_expr): Likewise.
(finalize_nesting_tree_1): Likewise.
* tree-ssa.c (tree_ssa_useless_type_conversion): Use new CALL_EXPR
accessors.
* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Use build_call_expr.
* tree-inline.c (initialize_inlined_parameters): Pass entire
CALL_EXPR as parameter instead of arglist. Use new CALL_EXPR
accessors.
(estimate_num_insns_1): Use new CALL_EXPR accessors.
(expand_call_inline): Tidy up call to initialize_inlined_parameters.
* tree-vect-transform.c (vect_create_epilog_for_reduction): Use
TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
(vectorizable_reduction): Likewise.
(vectorizable_call): Use new CALL_EXPR iterators.
(vectorizable_conversion): Use build_call_expr.
(vectorizable_operation): Use TREE_OPERAND_LENGTH.
(vect_gen_widened_results_half): Use build_call_expr.
(vect_setup_realignment): Likewise.
(vectorizable_live_operation): Use TREE_OPERAND_LENGTH.
* tree-object-size.c (alloc_object_size): Use new CALL_EXPR accessors.
(pass_through_call): Likewise.
(compute_object_sizes): Likewise. Use fold_call_expr instead of
fold_builtin.
* tree-profile.c (tree_gen_interval_profiler): Use build_call_expr.
(tree_gen_pow2_profiler): Likewise.
(tree_gen_one_value_profiler): Likewise.
(tree_gen_ic_func_profiler): Likewise.
(tree_gen_average_profiler): Likewise.
(tree_gen_ior_profiler): Likewise.
* tree-ssa-structalias.c (get_constraint_for): Add case tcc_vl_exp.
(find_func_aliases): Use new CALL_EXPR accessors. Add case
tcc_vl_exp. Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
* tree-ssa-reassoc.c (get_rank): Use TREE_OPERAND_LENGTH instead
of TREE_CODE_LENGTH.
* stmt.c (warn_if_unused_value): Use TREE_OPERAND_LENGTH instead
of TREE_CODE_LENGTH.
* convert.c (convert_to_real): Use new CALL_EXPR accessors and
constructor.
(convert_to_integer): Likewise.
* tree-ssa-operands.c (get_call_expr_operands): Use new CALL_EXPR
accessors.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* config/alpha/alpha.c (alpha_expand_builtin): Use new CALL_EXPR
accessors.
* config/frv/frv.c (frv_expand_builtin): Likewise.
* config/s390/s390.c (s390_expand_builtin): Likewise.
* config/sparc/sparc.c (sparc_gimplify_va_arg): Use build_call_expr.
(sparc_expand_builtin): Use new CALL_EXPR accessors.
* config/i386/i386.c (ix86_function_ok_for_sibcall): Likewise.
(ix86_expand_binop_builtin): Pass entire CALL_EXPR as parameter
instead of arglist. Use new CALL_EXPR accessors on it. Fix callers.
(ix86_expand_store_builtin): Likewise.
(ix86_expand_unop_builtin): Likewise.
(ix86_expand_unop1_builtin): Likewise.
(ix86_expand_sse_compare): Likewise.
(ix86_expand_sse_comi): Likewise.
(ix86_expand_vec_init_builtin): Likewise.
(ix86_expand_vec_ext_builtin): Likewise.
(ix86_expand_vec_set_builtin): Likewise.
(ix86_expand_builtin): Use new CALL_EXPR accessors.
* config/sh/sh.c (sh_expand_builtin): Use new CALL_EXPR accessors.
* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
* config/iq2000/iq2000.c (expand_one_builtin): Pass entire CALL_EXPR
instead of arglist. Use new CALL_EXPR accessors. Fix callers.
(iq2000_expand_builtin): Use new CALL_EXPR accessors.
* config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Use
build_call_expr.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
(rs6000_expand_unop_builtin): Pass entire CALL_EXPR instead of
arglist. Use new CALL_EXPR accessors. Fix callers.
(altivec_expand_abs_builtin): Likewise.
(rs6000_expand_binop_builtin): Likewise.
(altivec_expand_predicate_builtin): Likewise.
(altivec_expand_lv_builtin): Likewise.
(spe_expand_stv_builtin): Likewise.
(altivec_expand_stv_builtin): Likewise.
(rs6000_expand_ternop_builtin): Likewise.
(altivec_expand_ld_builtin): Use new CALL_EXPR accessors.
(altivec_expand_st_builtin): Likewise.
(altivec_expand_dst_builtin): Likewise.
(altivec_expand_vec_init_builtin): Pass entire CALL_EXPR instead of
arglist. Use new CALL_EXPR accessors. Fix callers.
(altivec_expand_vec_set_builtin): Likewise.
(altivec_expand_vec_ext_builtin): Likewise.
(altivec_expand_builtin): Use new CALL_EXPR accessors.
(spe_expand_builtin): Likewise.
(spe_expand_predicate_builtin): Pass entire CALL_EXPR instead of
arglist. Use new CALL_EXPR accessors. Fix callers.
(spe_expand_evsel_builtin): Likewise.
(rs6000_expand_builtin): Use new CALL_EXPR accessors. VCFUX and
FCFSX cases must construct whole new CALL_EXPR, not just arglist.
* config/arm/arm.c (arm_expand_binop_builtin): Pass entire CALL_EXPR
instead of arglist. Use new CALL_EXPR accessors. Fix callers.
(arm_expand_unop_builtin): Likewise.
(arm_expand_builtin): Use new CALL_EXPR accessors.
* config/mips/mips.c (mips_expand_builtin): Use new CALL_EXPR
accessors.
* config/bfin/bfin.c (bfin_expand_binop_builtin): Pass entire CALL_EXPR
instead of arglist. Use new CALL_EXPR accessors. Fix callers.
(bfin_expand_unop_builtin): Likewise.
(bfin_expand_builtin): Use new CALL_EXPR accessors.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* c-semantics.c (build_stmt): Add internal diagnostic check.
* c-pretty-print.c (pp_c_postfix_expression): Use new CALL_EXPR
accessors. Print arguments explicitly instead of as a list.
* c-typeck.c (build_function_call): Use new CALL_EXPR constructors.
* c-omp.c (c_finish_omp_barrier): Use build_call_expr.
(c_finish_omp_flish): Likewise.
* c-common.c (verify_tree): Use new CALL_EXPR accessors. Traverse
arguments explicitly instead of as a list. Use TREE_OPERAND_LENGTH
instead of TREE_CODE_LENGTH.
(check_function_arguments_recurse): Use new CALL_EXPR accessors.
(c_warn_unused_result): Likewise.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* cp-tree.def (AGGR_INIT_EXPR): Adjust documentation.
Change class to tcc_vl_exp.
* call.c (build_call): Use build_call_list instead
of build3.
(build_over_call): Likewise.
(build_new_method_call): Use build_min_non_dep_call_list
instead of build_min_non_dep.
* error.c (dump_call_expr_args): New function.
(dump_aggr_init_expr_args): New function.
(dump_expr) <AGGR_INIT_EXPR, CALL_EXPR, INDIRECT_REF>: Use them.
Update to use new CALL_EXPR and AGGR_INIT_EXPR accessor macros.
* cvt.c (convert_to_void): Use build_call_array instead
of build3; use new AGGR_INIT_EXPR accessor macros.
* mangle.c (write_expression): Use TREE_OPERAND_LENGTH
instead of TREE_CODE_LENGTH.
* dump.c (cp_dump_tree) <AGGR_INIT_EXPR>: Update to use new
AGGR_INIT_EXPR accessor macros.
* cp-gimplify.c (cp_gimplify_init_expr): Use
AGGR_INIT_EXPR_SLOT to set the slot operand.
* cp-tree.h (AGGR_INIT_EXPR_FN): New macro.
(AGGR_INIT_EXPR_SLOT): New macro.
(AGGR_INIT_EXPR_ARG): New macro.
(aggr_init_expr_nargs): New macro.
(AGGR_INIT_EXPR_ARGP): New macro.
(aggr_init_expr_arg_iterator): New.
(init_aggr_init_expr_arg_iterator): New.
(next_aggr_init_expr_arg): New.
(first_aggr_init_expr_arg): New.
(more_aggr_init_expr_args_p): New.
(FOR_EACH_AGGR_INIT_EXPR_ARG): New.
(stabilize_aggr_init): New declaration.
(build_min_non_dep_call_list): Likewise.
* tree.c (process_aggr_init_operands): New function.
(build_aggr_init_array) New function.
(build_cplus_new): Update to use new CALL_EXPR and
AGGR_INIT_EXPR accessor macros. Replace use of build3 with
build_aggr_init_array.
(build_min_non_dep_call_list) New function.
(build_min_nt): Assert input code parameter is not a variable
length expression class.
(build_min, build_min_non_dep): Likewise.
(cp_tree_equal) <CALL_EXPR>: Iterate through the arguments
to check for equality instead of recursing. Handle tcc_vl_exp
tree code classes.
(stabilize_call): Update to only handle CALL_EXPRs, not
AGGR_INIT_EXPRs; use new CALL_EXPR accessor macros.
(stabilize_aggr_init): New function.
(stabilize_init): Use it.
* cxx-pretty-print.c (pp_cxx_postfix_expression)
<AGGR_INIT_EXPR, CALL_EXPR>: Update to use new CALL_EXPR and
AGGR_INIT_EXPR accessor macros and argument iterators.
* pt.c (tsubst_copy) <CALL_EXPR>: Replace build_nt with
build_vl_exp. Iterate through the operands, recursively
processing each one.
(tsubst_copy_and_build) <CALL_EXPR>: Update to use new
CALL_EXPR accessor macros.
(value_dependent_expression_p) <default>: Handle tcc_vl_exp
tree code classes. Use TREE_OPERAND_LENGTH instead of
TREE_CODE_LENGTH.
* semantics.c (finish_call_expr): Use build_nt_call_list
instead of build_nt.
(simplify_aggr_init_expr): Update to use new AGGR_INIT_EXPR
accessor macros. Use build_call_array to construct the
CALL_EXPR node instead of build3
* decl2.c (build_offset_ref_call_from_tree): Use
build_nt_call_list and build_min_non_dep_call_list instead
of build_min_nt and build_min_non_dep.
* parser.c (cp_parser_postfix_expression) <CPP_OPEN_PAREN>:
Use build_nt_call_list instead of build_min_nt.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* java-tree.h (BUILD_MONITOR_ENTER): Use build_call_nary instead
of build3.
(BUILD_MONITOR_EXIT): Likewise.
* java-gimplify.c (java_gimplify_component_ref): Use build_call_expr.
(java_gimplify_modify_expr): Likewise.
* class.c (cache_this_class_ref): Use build_call_expr.
(build_static_field_ref): Likewise.
(emit_indirect_register_classes): Likewise.
(emit_register_classes): Likewise.
* resource.c (write_resource_constructor): Use build_call_expr.
* builtins.c (builtin_creator_function): Change interpretation of
the second parameter to be the whole CALL_EXPR instead of the arglist.
(max_builtin): Tweak parameter list. Use new CALL_EXPR accessors.
(min_builtin): Likewise.
(abs_builtin): Likewise.
(java_build_function_call_expr): Likewise.
(convert_real): Likewise.
(UNMARSHAL3): Likewise.
(UNMARSHAL4): Likewise.
(UNMARSHAL5): Likewise.
(build_arglist_for_builtin): Delete. Fix callers to use
build_call_expr instead.
(putObject_builtin): Tweak parameter list. Use new CALL_EXPR
accessors.
(compareAndSwapInt_builtin): Likewise.
(compareAndSwapLong_builtin): Likewise.
(compareAndSwapObject_builtin): Likewise.
(putVolatile_builtin): Likewise.
(getVolatile_builtin): Likewise.
(VMSupportsCS8_builtin): Likewise.
(check_for_builtin): Pass entire CALL_EXPR to builtin expander
instead of arglist.
* expr.c (build_java_athrow): Use build_call_nary instead of build3.
(build_java_throw_out_of_bounds_exception): Likewise.
(java_check_reference): Likewise.
(build_java_arraystore_check): Likewise.
(build_newarray): Likewise.
(build_anewarray): Likewise.
(expand_java_multinewarray): Use build_call_list instead of build3.
(build_java_monitor): Use build_call_nary instead of build3.
(java_create_object): Likewise.
(expand_java_NEW): Likewise.
(build_instanceof): Likewise.
(expand_java_CHECKCAST): Likewise.
(build_java_soft_divmod): Likewise.
(build_java_binop): Likewise.
(build_field_ref): Likewise.
(build_class_init): Likewise.
(rewrite_arglist_getcaller): Use build_call_expr.
(build_invokeinterface): Use build_call_nary instead of build3.
(expand_invoke): Use build_call_list instead of build3.
(build_jni_stub): Use build_call_nary, build_call_list, or
build_call_expr instead of build3.
(expand_java_field_op): Use build_call_expr instead of build3.
(force_evaluation_order): Use new CALL_EXPR accessors.
* lang.c (java_get_callee_fndecl): Use new CALL_EXPR accessors.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* objc-act.c (receiver_is_class_object): Use new CALL_EXPR accessors.
(objc_get_callee_fndecl): Likewise.
2007-02-15 Sandra Loosemore <sandra@codesourcery.com>
Brooks Moses <brooks.moses@codesourcery.com>
Lee Millward <lee.millward@codesourcery.com>
* trans-expr.c (gfc_conv_power_op): Use build_call_expr.
(gfc_conv_string_tmp): Likewise.
(gfc_conv_concat_op): Likewise.
(gfc_build_compare_string): Likewise.
(gfc_conv_function_call): Use build_call_list instead of build3.
* trans-array.c (gfc_trans_allocate_array_storage): Use
build_call_expr.
(gfc_grow_array): Likewise.
(gfc_trans_array_ctor_element): Likewise.
(gfc_trans_array_constructor_value): Likewise.
(gfc_array_allocate): Likewise.
(gfc_array_deallocate): Likewise.
(gfc_trans_auto_array_allocation): Likewise.
(gfc_trans_dummy_array_bias): Likewise.
(gfc_conv_array_parameter): Likewise.
(gfc_trans_dealloc_allocated): Likewise.
(gfc_duplicate_allocatable): Likewise.
* trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
(gfc_trans_omp_flush): Likewise.
* trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
(gfc_trans_pause): Likewise.
(gfc_trans_stop): Likewise.
(gfc_trans_character_select): Likewise.
(gfc_do_allocate): Likewise.
(gfc_trans_assign_need_temp): Likewise.
(gfc_trans_pointer_assign_need_temp): Likewise.
(gfc_trans_forall_1): Likewise.
(gfc_trans_where_2): Likewise.
(gfc_trans_allocate): Likewise.
(gfc_trans_deallocate): Likewise.
* trans.c (gfc_trans_runtime_check): Use build_call_expr.
* trans-io.c (gfc_trans_open): Use build_call_expr.
(gfc_trans_close): Likewise.
(build_filepos): Likewise.
(gfc_trans_inquire): Likewise.
(NML_FIRST_ARG): Delete.
(NML_ADD_ARG): Delete.
(transfer_namelist_element): Use build_call_expr.
(build_dt): Likewise.
(gfc_trans_dt_end): Likewise.
(transfer_expr): Likewise.
(transfer_array-desc): Likewise.
* trans-decl.c (gfc_generate_function_code): Use build_call_expr.
(gfc_generate_constructors): Likewise.
* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
(gfc_conv_intrinsic_fdate): Likewise.
(gfc_conv_intrinsic_ttynam): Likewise.
(gfc_conv_intrinsic_array_transfer): Likewise.
(gfc_conv_associated): Likewise.
(gfc_conv_intrinsic_si_kind): Likewise.
(gfc_conv_intrinsic_trim): Likewise.
(gfc_conv_intrinsic_repeat: Likewise.
(gfc_conv_intrinsic_iargc): Likewise.
Co-Authored-By: Brooks Moses <brooks.moses@codesourcery.com>
Co-Authored-By: Lee Millward <lee.millward@codesourcery.com>
From-SVN: r122018
Manuel López-Ibáñez [Thu, 15 Feb 2007 22:31:17 +0000 (22:31 +0000)]
re PR c/26494 (-pedantic-errors can be overridden by -W*)
2007-02-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c/26494
* doc/invoke.texi (Warning Options): Remove
-Werror-implicit-function-declaration.
(Wimplicit-function-declaration): Update description.
* opts.c (common_handle_option): Move handling of -Werror=* to...
(enable_warning_as_error): ...here.
* opts.h (enable_warning_as_error): Declare.
* c-decl.c (implicit_decl_warning): Unless
-Wno-implicit-function-declaration is given, emit a pedwarn if
-std=c99 or emit a warning if -Wimplicit-function-declaration.
* c.opt (Wimplicit-function-declaration): Replace
mesg_implicit_function_declaration with
warn_implicit_function_declaration.
* c-opts.c (c_common_handle_option):
-Werror-implicit-function-declaration is exactly equal as
-Werror=implicit-function-declaration.
(set_Wimplicit): Replace mesg_implicit_function_declaration with
warn_implicit_function_declaration.
(c_common_post_options): -Wimplict-function-declaration is enabled
by default by -std=c99, otherwise is disabled by default.
* c-objc-common.c (c_objc_common_init): Remove flawed logic.
testsuite/
* gcc.dg/Wimplicit-function-declaration-c89.c: New.
* gcc.dg/Wimplicit-function-declaration-c89-default.c: New.
* gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: New.
* gcc.dg/Wimplicit-function-declaration-c99.c: New.
* gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: New.
* gcc.dg/Werror-implicit-function-declaration.c: New.
From-SVN: r122017
Manuel López-Ibáñez [Thu, 15 Feb 2007 22:15:20 +0000 (22:15 +0000)]
re PR c++/28943 (Unusable error message when using a conditional-expression with multiple type arguments)
2007-02-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR c++/28943
cp/
* call.c (build_conditional_expr): Improve error message.
testsuite/
* g++.dg/warn/pr28943.C: New.
From-SVN: r122016
Eric Botcazou [Thu, 15 Feb 2007 21:43:28 +0000 (21:43 +0000)]
gimplify.c (gimplify_modify_expr): During gimplification...
* gimplify.c (gimplify_modify_expr): During gimplification, attach a
DECL on the rhs to a DECL on the lhs for debug info purposes if the
former is ignored but not the latter.
From-SVN: r122015
Eric Botcazou [Thu, 15 Feb 2007 20:51:29 +0000 (20:51 +0000)]
expr.c (expand_expr_real_1): If a temporary is made and the reference doesn't use the alias set of its type...
* expr.c (expand_expr_real_1) <normal_inner_ref>: If a temporary
is made and the reference doesn't use the alias set of its type,
do not create the temporary using that type.
From-SVN: r122014
Aldy Hernandez [Thu, 15 Feb 2007 18:29:25 +0000 (18:29 +0000)]
jump.c: Remove prototypes for delete_computation and delete_prior_computation.
* jump.c: Remove prototypes for delete_computation and
delete_prior_computation.
From-SVN: r122011
David Daney [Thu, 15 Feb 2007 17:25:24 +0000 (17:25 +0000)]
Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
gcc/java:
2007-02-15 David Daney <ddaney@avtrex.com>
* Make-lang.in (JAVA_MANFILES): Add doc/gc-analyze.1.
(java.maintainer-clean):Add gc-analyze.1.
(.INTERMEDIATE): Add gc-analyze.pod.
(gc-analyze.pod): New rule.
(java.install-man): Install gc-analyze.1
* gcj.texi: Add new section for the gc-analyze program.
libjava:
2007-02-15 Johannes Schmidt <jschmidt@avtrex.com>
David Daney <ddaney@avtrex.com>
* configure.ac: Create vm-tools-packages file. Add
gnu/gcj/tools/gc_analyze to standard.omit and vm-tools-packages.
Check for /proc/self/maps.
* Makefile.am (bin_PROGRAMS): Added gc-analyze.
(gc_analyze_SOURCES): New.
(gc_analyze_LDFLAGS): New.
(gc_analyze_LINK): New.
(gc_analyze_LDADD): New.
(gc_analyze_DEPENDENCIES): New.
(nat_source_files): Add gnu/gcj/util/natGCInfo.cc.
* Makefile.in: Regenerated.
* configure: Regenerated.
* include/config.h.in: Regenerated.
* sources.am: Regenerated.
* scripts/makemake.tcl: Don't include gc-analyze classes in libgcj.
* gnu/gcj/tools/gc_analyze/SymbolLookup.java: New.
* gnu/gcj/tools/gc_analyze/ObjectMap.java: New.
* gnu/gcj/tools/gc_analyze/MemoryMap.java: New.
* gnu/gcj/tools/gc_analyze/SymbolTable.java: New.
* gnu/gcj/tools/gc_analyze/BlockMap.java: New.
* gnu/gcj/tools/gc_analyze/BytePtr.java: New.
* gnu/gcj/tools/gc_analyze/ItemList.java: New.
* gnu/gcj/tools/gc_analyze/ToolPrefix.java: New.
* gnu/gcj/tools/gc_analyze/MemoryAnalyze.java: New.
* gnu/gcj/util/GCInfo.java: New.
* gnu/gcj/util/GCInfo.h: New.
* gnu/gcj/util/natGCInfo.cc: New.
* gnu/gcj/util/UtilPermission.java: New.
* gnu/gcj/util/UtilPermission.h: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/SymbolTable.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/ObjectMap$ObjectItem.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap$RangeComparator.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap$PtrMarks.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap$Range.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BytePtr.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$SubstringComparator.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/ItemList.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/ToolPrefix.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1$Info.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$1.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$2.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$3.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$4.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryAnalyze$OptionParser.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/BlockMap$SizeKind.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/SymbolLookup.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/ObjectMap.class: New.
* classpath/tools/gnu/gcj/tools/gc_analyze/MemoryMap.class: New.
* classpath/lib/gnu/gcj/util/GCInfo.class: New.
* classpath/lib/gnu/gcj/util/UtilPermission.class: New.
libjava/classpath:
2007-02-15 David Daney <ddaney@avtrex.com>
* tools/Makefile.am (TOOLS_ZIP): Add classes from vm-tools-packages.
* tools/Makefile.in: Regenerated.
From-SVN: r122007
David Daney [Thu, 15 Feb 2007 17:03:49 +0000 (17:03 +0000)]
PlainSocketImpl.h: Regenerate.
* gnu/java/net/PlainSocketImpl.h: Regenerate.
* gnu/classpath/jdwp/VMVirtualMachine.h: Same.
* gnu/classpath/jdwp/VMFrame.h: Same.
* java/net/Socket.h: Same.
* java/util/Collections$UnmodifiableMap$UnmodifiableEntrySet.h: Same.
From-SVN: r122006
Gary Benson [Thu, 15 Feb 2007 16:40:44 +0000 (16:40 +0000)]
AttributeList.java: Updated.
2007-02-15 Gary Benson <gbenson@redhat.com>
* javax/management/AttributeList.java: Updated.
* javax/management/MBeanServerDelegate.java: Likewise.
* javax/management/MBeanServerFactory.java: Likewise.
* javax/management/StandardMBean.java: Likewise.
From-SVN: r122004
Paolo Bonzini [Thu, 15 Feb 2007 16:40:16 +0000 (16:40 +0000)]
jump.c (get_label_after): Delete.
2007-02-15 Paolo Bonzini <bonzini@gnu.org>
* jump.c (get_label_after): Delete.
(get_label_before, delete_computation, delete_jump,
delete_prior_computation, follow_jumps): Move...
* reorg.c (delete_computation, delete_prior_computation): ... here...
(get_label_before, delete_jump): ... making these static ...
(follow_jumps): ... and simplifying this since it only runs after
reload.
* rtl.h (get_label_after, get_label_before, delete_jump,
follow_jumps): Delete prototypes.
From-SVN: r122003
Kyle Galloway [Thu, 15 Feb 2007 15:08:27 +0000 (15:08 +0000)]
defineclass.cc (_Jv_ClassReader::read_one_code_attribute): Added LocalVariableTable attribute handling.
2007-02-15 Kyle Galloway <kgallowa@redhat.com>
* defineclass.cc (_Jv_ClassReader::read_one_code_attribute):
Added LocalVariableTable attribute handling.
(_Jv_ClassReader::pool_Utf8_to_char_arr): New method.
* jvmti.cc (_Jv_JVMTI_GetLocalVariableTable): New method.
* include/java-interp.h: Added local_var_table and
local_var_table_len fields to _Jv_InterpMethod.
(_Jv_InterpMethod::get_local_var_table): New method.
* testsuite/libjava.jvmti/interp/getlocalvartable.java: New
test.
* testsuite/libjava.jvmti/interp/getlocalvartable.jar: New test.
* testsuite/libjava.jvmti/interp/getlocalvartable.out: Output
for new test.
* testsuite/libjava.jvmti/interp/getlocalvartable.h: New test.
* testsuite/libjava.jvmti/interp/natgetlocalvartable.cc: New
test.
From-SVN: r121999
Paolo Bonzini [Thu, 15 Feb 2007 15:07:59 +0000 (15:07 +0000)]
caller-save.c (save_call_clobbered_regs): Do not process sibcalls.
2007-02-15 Paolo Bonzini <bonzini@gnu.org>
* caller-save.c (save_call_clobbered_regs): Do not process sibcalls.
From-SVN: r121998
Kyle Galloway [Thu, 15 Feb 2007 14:49:50 +0000 (14:49 +0000)]
natVMVirtualMachine (getFrames): Implement.
2007-02-15 Kyle Galloway <kgallowa@redhat.com>
* gnu/classpath/jdwp/natVMVirtualMachine (getFrames): Implement.
From-SVN: r121997
Gary Benson [Thu, 15 Feb 2007 14:42:23 +0000 (14:42 +0000)]
2007-02-15 Gary Benson <gbenson@redhat.com>
* gnu/javax/management/Server.java
(registerMBean): Always register objects that implement the
MBeanRegistration interface, and check the name returned by
preRegister before using it.
From-SVN: r121995
Gary Benson [Thu, 15 Feb 2007 13:05:06 +0000 (13:05 +0000)]
2007-02-15 Gary Benson <gbenson@redhat.com>
* javax/management/ObjectName.java:
(getKeyPropertyList()): Remove cast and call
to UnmodifiableMap.
From-SVN: r121994
Nick Clifton [Thu, 15 Feb 2007 10:33:59 +0000 (10:33 +0000)]
varasm.c (default_asm_output_anchor): Prepend * to . symbol in order to prevent it from being munged by the target.
* varasm.c (default_asm_output_anchor): Prepend * to . symbol in order to
prevent it from being munged by the target.
From-SVN: r121992
Uros Bizjak [Thu, 15 Feb 2007 10:21:38 +0000 (11:21 +0100)]
* config/i386/i386.md: Remove misleading comment.
From-SVN: r121991
Gary Benson [Thu, 15 Feb 2007 09:02:38 +0000 (09:02 +0000)]
2007-02-14 Gary Benson <gbenson@redhat.com>
* javax/management/ObjectName.java
(toString): Return this item's canonical name.
From-SVN: r121989
Jerry DeLisle [Thu, 15 Feb 2007 06:55:48 +0000 (06:55 +0000)]
math.f90: Fix typo.
2007-02-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.fortran-torture/execute/math.f90: Fix typo.
From-SVN: r121984
Jerry DeLisle [Thu, 15 Feb 2007 06:51:42 +0000 (06:51 +0000)]
re PR fortran/30779 ([4.1, 4.2 only] incomplete file triggers ICE)
2007-02-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/30779
* gfortran.dg/error_recovery_3.f90: New test.
From-SVN: r121983
Jerry DeLisle [Thu, 15 Feb 2007 06:48:09 +0000 (06:48 +0000)]
re PR fortran/30779 ([4.1, 4.2 only] incomplete file triggers ICE)
2007-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/30779
* scanner.c (gfc_next_char_literal): Add check for end of file after
call to advance_line.
From-SVN: r121982
Alexandre Oliva [Thu, 15 Feb 2007 04:47:23 +0000 (04:47 +0000)]
frv.md (reload_incc, [...]): Remove invalid patterns.
* config/frv/frv.md (reload_incc, reload_outcc, reload_incc_uns,
reload_outcc_uns, reload_incc_nz, reload_outcc_nz): Remove
invalid patterns.
From-SVN: r121981
Alexandre Oliva [Thu, 15 Feb 2007 04:24:50 +0000 (04:24 +0000)]
tree-sra.c (instantiate_missing_elements): Canonicalize bit-field types.
gcc/ChangeLog:
* tree-sra.c (instantiate_missing_elements): Canonicalize
bit-field types.
(sra_build_assignment): New.
(generate_copy_inout, generate_element_copy,
generate_element_zero, generate_one_element_init): Use it.
gcc/testsuite/ChangeLog:
* g++.dg/tree-ssa/sra-1.C: New.
From-SVN: r121980
Alexandre Oliva [Thu, 15 Feb 2007 04:19:33 +0000 (04:19 +0000)]
dwarf2out.c (dwarf2out_finish): Accept namespaces as context of limbo die nodes.
gcc/ChangeLog:
* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
limbo die nodes.
gcc/testsuite/ChangeLog:
* g++.dg/ext/interface4.C, g++.dg/ext/interface4.h: New.
From-SVN: r121979
Kaveh R. Ghazi [Thu, 15 Feb 2007 03:14:39 +0000 (03:14 +0000)]
nothrow-1.C: Skip test if -fpic/-fPIC is used.
* g++.dg/tree-ssa/nothrow-1.C: Skip test if -fpic/-fPIC is used.
From-SVN: r121976
Steven G. Kargl [Thu, 15 Feb 2007 00:58:01 +0000 (00:58 +0000)]
primary.c (match_logical_constant): Return MATCH_ERROR on invalid kind.
2007-02-14 Steven G. Kargl <kargl@gcc.gnu.org>
* primary.c (match_logical_constant): Return MATCH_ERROR on invalid kind.
* gfortran.dg/logical_2.f90: New test.
From-SVN: r121974
GCC Administrator [Thu, 15 Feb 2007 00:17:48 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r121972
Joseph Myers [Wed, 14 Feb 2007 23:38:01 +0000 (23:38 +0000)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Treat complex types as aggregates not scalars.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Treat complex
types as aggregates not scalars.
* function.c (assign_stack_temp_for_type): Likewise.
testsuite:
* gcc.dg/torture/complex-alias-1.c: New test.
From-SVN: r121968
Zdenek Dvorak [Wed, 14 Feb 2007 22:06:11 +0000 (22:06 +0000)]
tree-dump.c (dump_switch_p_1): Require exact match of the option name.
* tree-dump.c (dump_switch_p_1): Require exact match of the option
name.
* gcc.dg/tree-prof/update-tailcall.c: Use -fdump-tree-tailc
instead of -fdump-tree-tailcall.
From-SVN: r121967
Zdenek Dvorak [Wed, 14 Feb 2007 21:54:44 +0000 (21:54 +0000)]
passes.c (next_pass_1): Clear the next field of the copied pass structure.
* passes.c (next_pass_1): Clear the next field of the copied
pass structure.
From-SVN: r121966
Hans-Peter Nilsson [Wed, 14 Feb 2007 20:15:29 +0000 (20:15 +0000)]
re PR middle-end/30768 (ICE in ext/pb_ds/regression/list_update_data_map_rand.cc)
PR middle-end/30768
* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc:
Xfail ICE for cris-*-*.
From-SVN: r121959
Steven G. Kargl [Wed, 14 Feb 2007 20:02:39 +0000 (20:02 +0000)]
Fix a potential buffer overflow.
From-SVN: r121958
Jakub Jelinek [Wed, 14 Feb 2007 19:53:22 +0000 (19:53 +0000)]
TimeZone.java (getDateParams): Negate dayOfWeek.
2007-02-14 Jakub Jelinek <jakub@redhat.com>
Andrew Haley <aph@redhat.com>
* java/util/TimeZone.java (getDateParams): Negate dayOfWeek.
From-SVN: r121957
Brooks Moses [Wed, 14 Feb 2007 19:51:43 +0000 (19:51 +0000)]
* gfortran.dg/interface_10.f90: Fix comment typo.
From-SVN: r121956
Jakub Jelinek [Wed, 14 Feb 2007 19:31:58 +0000 (20:31 +0100)]
TimeZone.java (getDateParams): Negate dayOfWeek.
2007-02-14 Jakub Jelinek <jakub@redhat.com>
Andrew Haley <aph@redhat.com>
* java/util/TimeZone.java (getDateParams): Negate dayOfWeek.
Co-Authored-By: Andrew Haley <aph@redhat.com>
From-SVN: r121955
Richard Henderson [Wed, 14 Feb 2007 17:52:25 +0000 (09:52 -0800)]
tree-sra.c (early_sra): New.
* tree-sra.c (early_sra): New.
(decl_can_be_decomposed_p): Deny va_list if early_sra.
(tree_sra_early, pass_sra_early): New.
* tree-pass.h (pass_sra_early): Declare.
* passes.c (init_optimization_passes): Use it.
From-SVN: r121953
Richard Biener [Wed, 14 Feb 2007 16:45:23 +0000 (16:45 +0000)]
flags.h (issue_strict_overflow_warning): Convert to a macro.
2007-02-14 Richard Guenther <rguenther@suse.de>
* flags.h (issue_strict_overflow_warning): Convert to a macro.
From-SVN: r121951
Dorit Nuzman [Wed, 14 Feb 2007 14:10:57 +0000 (14:10 +0000)]
re PR tree-optimization/30771 (ice for legal code with -O2 -ftree-vectorize)
PR tree-optimization/30771
* tree-vect-analyze.c (vect_determine_vectorization_factor): Traverse
also phi nodes.
(vect_analyze_operations): Induction phis can now be marked as
used_in_loop.
(vect_mark_stmts_to_be_vectorized): No special treatment for phis.
Update documentation accordingly.
From-SVN: r121950
Gerald Pfeifer [Wed, 14 Feb 2007 13:19:26 +0000 (13:19 +0000)]
* ltconfig (freebsd*): Default to elf.
From-SVN: r121948
Benjamin Kosnik [Wed, 14 Feb 2007 11:07:17 +0000 (11:07 +0000)]
configure.ac: Move AM_ICONV to native-only, add HAVE_ICONV for newlib.
2007-02-14 Benjamin Kosnik <bkoz@redhat.com>
* configure.ac: Move AM_ICONV to native-only, add HAVE_ICONV for
newlib.
* configure: Regenerate.
From-SVN: r121947
Nick Clifton [Wed, 14 Feb 2007 08:27:01 +0000 (08:27 +0000)]
builtin-types.def (DEF_FUNCTION_TYPE_x): Do not imply that at most 3 arguments are supported.
* builtin-types.def (DEF_FUNCTION_TYPE_x): Do not imply that at most 3 arguments are supported.
(DEF_FUNCTION_TYPE_VAR_5): Fix typo in its description.
From-SVN: r121946
Seongbae Park [Wed, 14 Feb 2007 05:01:14 +0000 (05:01 +0000)]
bitmap.c (bitmap_and, [...]): Ensure dst->current is valid.
2007-02-13 Seongbae Park <seongbae.park@gmail.com>
* bitmap.c (bitmap_and, bitmap_and_compl, bitmap_xor):
Ensure dst->current is valid.
From-SVN: r121903
Paul Brook [Wed, 14 Feb 2007 00:29:52 +0000 (00:29 +0000)]
config.gcc: Add arm*-*-uclinux-*eabi.
2007-02-13 Paul Brook <paul@codesourcery.com>
gcc/
* config.gcc: Add arm*-*-uclinux-*eabi.
* config/arm/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Define.
(SUBTARGET_EXTRA_LINK_SPEC): Define.
(STARTFILE_SPEC, ENDFILE_SPEC): Remove broken -shared handling.
(LINK_GCC_C_SEQUENCE_SPEC): Undef.
(LINK_SPEC): Define.
(LIB_SPEC): Define.
* config/arm/arm.c (arm_override_options): Use r9 as EABI PIC
register.
* config/arm/uclinux-eabi.h: New file.
* config/arm/linux-eabi.h (WCHAR_TYPE): Remove.
* config/arm/linux-gas.h (WCHAR_TYPE): Use unsigned long on AAPCS
based targets.
From-SVN: r121902
GCC Administrator [Wed, 14 Feb 2007 00:17:48 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r121900
Ian Lance Taylor [Tue, 13 Feb 2007 22:34:45 +0000 (22:34 +0000)]
common.opt: Add Wstrict-overflow and Wstrict-overflow=.
./: * common.opt: Add Wstrict-overflow and Wstrict-overflow=.
* flags.h (warn_strict_overflow): Declare.
(enum warn_strict_overflow_code): Define.
(issue_strict_overflow_warning): New static inline function.
* opts.c (warn_strict_overflow): New variable.
(common_handle_option): Handle OPT_Wstrict_overflow and
OPT_Wstrict_overflow_.
* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
OPT_Wall.
* fold-const.c: Include intl.h.
(fold_deferring_overflow_warnings): New static variable.
(fold_deferred_overflow_warning): New static variable.
(fold_deferred_overflow_code): New static variable.
(fold_defer_overflow_warnings): New function.
(fold_undefer_overflow_warnings): New function.
(fold_undefer_and_ignore_overflow_warnings): New function.
(fold_deferring_overflow_warnings_p): New function.
(fold_overflow_warning): New static function.
(make_range): Add strict_overflow_p parameter. Change all
callers.
(extract_muldiv, extract_muldiv_1): Likewise.
(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
tree_expr_nonnegative_p.
(fold_negate_expr): Call fold_overflow_warning.
(fold_range_test): Likewise.
(fold_comparison): Likewise.
(fold_binary): Likewise. Call tree_expr_nonnegative_warnv_p
instead of tree_expr_nonnegative_p.
(tree_expr_nonnegative_warnv_p): Rename from
tree_expr_nonnegative_p, add strict_overflow_p parameter.
(tree_expr_nonnegative_p): New function.
(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
strict_overflow_p parameter.
(tree_expr_nonzero_p): New function.
* passes.c (verify_interpass_invariants): New static function.
(execute_one_pass): Call it.
* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
warnings.
(number_of_iterations_exit, loop_niter_by_eval): Likewise.
(estimate_numbers_of_iterations): Likewise.
(scev_probably_wraps_p): Likewise.
* tree-ssa-ccp.c: Include "toplev.h".
(evaluate_stmt): Defer fold overflow warnings until we know we are
going to optimize.
(struct fold_stmt_r_data): Add stmt field.
(fold_stmt_r): Defer fold overflow warnings until we know we
optimized.
(fold_stmt): Initialize stmt field of fold_stmt_r_data.
(fold_stmt_inplace): Likewise.
* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
(cleanup_control_expr_graph): Defer fold overflow warnings until
we know we are going to optimize.
* tree-cfg.c (fold_cond_expr_cond): Likewise.
* tree-ssa-threadedge.c (simplify_control_stmt_condition):
Likewise.
* tree-vrp.c (vrp_expr_computes_nonnegative): Call
tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
* tree-ssa-loop-manip.c (create_iv): Likewise.
* c-typeck.c (build_conditional_expr): Likewise.
(build_binary_op): Likewise.
* tree-vrp.c (vrp_expr_computes_nonzero): Call
tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
(extract_range_from_unary_expr): Likewise.
* simplify-rtx.c (simplify_const_relational_operation): Warn when
assuming that signed overflow does not occur.
* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
* tree.h (tree_expr_nonnegative_warnv_p): Declare.
(fold_defer_overflow_warnings): Declare.
(fold_undefer_overflow_warnings): Declare.
(fold_undefer_and_ignore_overflow_warnings): Declare.
(fold_deferring_overflow_warnings_p): Declare.
(tree_expr_nonzero_warnv_p): Declare.
* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
of warning options.
(Warning Options): Document -Wstrict-overflow.
* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
(tree-ssa-ccp.o): Likewise.
(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
(fold-const.o): Depend on intl.h.
testsuite/:
* gcc.dg/Wstrict-overflow-1.c: New test.
* gcc.dg/Wstrict-overflow-2.c: New test.
* gcc.dg/Wstrict-overflow-3.c: New test.
* gcc.dg/Wstrict-overflow-4.c: New test.
* gcc.dg/Wstrict-overflow-5.c: New test.
* gcc.dg/Wstrict-overflow-6.c: New test.
* gcc.dg/Wstrict-overflow-7.c: New test.
* gcc.dg/Wstrict-overflow-8.c: New test.
* gcc.dg/Wstrict-overflow-9.c: New test.
* gcc.dg/Wstrict-overflow-10.c: New test.
From-SVN: r121895
Ian Lance Taylor [Tue, 13 Feb 2007 22:18:26 +0000 (22:18 +0000)]
re PR middle-end/30751 (internal compiler error: in extract_insn, at recog.c:2108)
PR middle-end/30751
* lower-subreg.c (resolve_simple_move): Decompose subregs in
addresses.
From-SVN: r121894
Daniel Jacobowitz [Tue, 13 Feb 2007 21:27:11 +0000 (21:27 +0000)]
configure.ac (target_libraries): Move libgcc before libiberty.
* configure.ac (target_libraries): Move libgcc before libiberty.
* configure: Regenerated.
From-SVN: r121893
Roger Sayle [Tue, 13 Feb 2007 20:42:42 +0000 (20:42 +0000)]
builtin-bswap-2.c: New test case.
* gcc.target/ia64/builtin-bswap-2.c: New test case.
From-SVN: r121892
Stuart Hastings [Tue, 13 Feb 2007 19:02:57 +0000 (19:02 +0000)]
* gcc/config/i386/i386.md (fixuns_truncdfhi2): Require SSE2.
From-SVN: r121891
Keith Seitz [Tue, 13 Feb 2007 18:57:01 +0000 (18:57 +0000)]
* gnu/classpath/jdwp/natVMVirtualMachine.cc
(jdwpBreakpointCB): New function.
(jdwpVMInitCB): Define and enable the breakpoint
callback.
From-SVN: r121889
Andrew Haley [Tue, 13 Feb 2007 18:25:47 +0000 (18:25 +0000)]
2007-02-13 Andrew Haley <aph@redhat.com>
* testsuite/libjava.lang/Divide_2.out
* testsuite/libjava.lang/Divide_2.java: New test.
From-SVN: r121887
Richard Henderson [Tue, 13 Feb 2007 17:29:35 +0000 (09:29 -0800)]
alpha.c (alpha_stdarg_optimize_hook): Strip handled_component_p before looking for the indirect_ref.
* config/alpha/alpha.c (alpha_stdarg_optimize_hook): Strip
handled_component_p before looking for the indirect_ref.
From-SVN: r121886
Richard Henderson [Tue, 13 Feb 2007 16:56:32 +0000 (08:56 -0800)]
pr29302-1.c: Moved from...
* gcc.c-torture/execute/ieee/pr29302-1.c: Moved from...
* gcc.c-torture/execute/pr29302-1.c: ... here.
From-SVN: r121885
Richard Henderson [Tue, 13 Feb 2007 16:42:12 +0000 (08:42 -0800)]
i386.md (bswapsi_1): Rename from bswapsi2, remove flags clobber.
* config/i386/i386.md (bswapsi_1): Rename from bswapsi2,
remove flags clobber.
(bswapsi2): New expander, emit code for !TARGET_BSWAP.
(bswaphi_lowpart): New.
(bswapdi2): Rename from bswapdi2_rex, remove flags clobber,
remove TARGET_BSWAP test. Delete expander of the same name.
* optabs.c (widen_bswap, expand_doubleword_bswap): New.
(expand_unop): Use them.
From-SVN: r121884
Uros Bizjak [Tue, 13 Feb 2007 14:03:03 +0000 (15:03 +0100)]
* config/i386/i386.md (cmpdi_ccno_1_rex64, *cmpsi_ccno_1,
*cmphi_ccno_1, *cmpqi_ccno_1, *movsi_xor, *movstricthi_xor,
*movstrictqi_xor, *movdi_xor_rex64, *ashldi3_1_rex64,
*ashldi3_cmp_rex64, *ashldi3_cconly_rex64, ashlsi3, *ashlsi3_1_zext,
*ashlsi3_cmp, *ashlsi3_cconly, *ashlsi3_cmp_zext, *ashlhi3_1_lea,
*ashlhi3_1, *ashlhi3_cmp, *ashlhi3_cconly, *ashlqi3_1_lea,
*ashlqi3_1, *ashlqi3_cmp, *ashlqi3_cconly): Remove equivalent
assembler dialect choice from asm templates.
From-SVN: r121883
Daniel Jacobowitz [Tue, 13 Feb 2007 13:39:19 +0000 (13:39 +0000)]
re PR bootstrap/30753 (checking for correct version of gmp.h... no)
PR bootstrap/30753
* configure.ac: Remove obsolete build / host tests. Use AC_PROG_CC
unconditionally. Use AC_PROG_CXX. Use ACX_TOOL_DIRS to find $prefix.
* configure: Regenerated.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r121882
Dirk Mueller [Tue, 13 Feb 2007 10:13:04 +0000 (10:13 +0000)]
locale_facets.tcc (num_get<>::do_get): Avoid warning about ambiguous else.
2007-02-13 Dirk Mueller <dmueller@suse.de>
* include/bits/locale_facets.tcc (num_get<>::do_get): Avoid
warning about ambiguous else.
From-SVN: r121881
Andreas Krebbel [Tue, 13 Feb 2007 07:54:40 +0000 (07:54 +0000)]
ffi.c (ffi_prep_args, [...]): Add long double handling.
2007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
* src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
ffi_closure_helper_SYSV): Add long double handling.
From-SVN: r121879