Commit Graph

79203 Commits

Author SHA1 Message Date
Alexandre Oliva
b2eaac4a51 configure.ac: Drop multiple occurrences of --enable-languages, and fix its quoting.
* configure.ac: Drop multiple occurrences of --enable-languages,
and fix its quoting.
* configure: Rebuilt.

From-SVN: r122107
2007-02-18 22:45:12 +00:00
Steven Bosscher
8800a9b349 re PR rtl-optimization/30773 (Spec cpu2k6/h264ref and sphinx3 miscompare regression)
PR rtl-optimization/30773
	* local-alloc.c (update_equiv_regs): Do not set reg_equiv_init
	if we fail to attach a REG_EQUIV note.

From-SVN: r122106
2007-02-18 22:33:23 +00:00
David Edelsohn
03f79051ae rs6000.md (bswapsi2): New define_insn and splitter.
2007-02-18  David Edelsohn  <edelsohn@gnu.org>
            Roger Sayle  <roger@eyesopen.com>

        * config/rs6000/rs6000.md (bswapsi2): New define_insn and splitter.

Co-Authored-By: Roger Sayle <roger@eyesopen.com>

From-SVN: r122104
2007-02-18 15:55:31 -05:00
Roger Sayle
61a04b5b59 trans-array.c (gfc_build_constant_array_constructor): When the shape of the constructor is known...
* trans-array.c (gfc_build_constant_array_constructor): When the
	shape of the constructor is known, use that to construct the
	gfc_array_spec.
	(gfc_trans_constant_array_constructor): Initialize the "info"
	information for all of the dimensions of the array constructor.
	(constant_array_constructor_loop_size): New function.
	(gfc_trans_array_constructor): Use it to determine whether a
	loop is suitable for "constant array constructor" optimization.

	* trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
	instead of build2, to avoid conditions like "(a != b) != 0".

	* gfortran.dg/array_constructor_15.f90: New test case.

From-SVN: r122103
2007-02-18 20:05:00 +00:00
Roger Sayle
9bffa1718a re PR fortran/30400 (ANY not accepted as mask in FORALL)
2007-02-18  Roger Sayle  <roger@eyesopen.com>
	    Paul Thomas <pault@gcc.gnu.org>

        PR fortran/30400
        * match.c (match_forall_iterator): Use gfc_match_expr instead
	of gfc_match_variable to match the iterator variable.  Return
	MATCH_NO if not a variable.  Remove the reset of the symbol's
	flavor in cleanup.

2007-02-18  Roger Sayle  <roger@eyesopen.com>

        * gfortran.dg/forall_10.f90: New test case.

Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>

From-SVN: r122102
2007-02-18 19:52:16 +00:00
Sandra Loosemore
078a18a423 calls.c (initialize_argument_information): Pass original EXP and STRUCT_VALUE_ADDR_VALUE instead of a list of arguments.
2007-02-18  Sandra Loosemore  <sandra@codesourcery.com>

	* calls.c (initialize_argument_information): Pass original EXP
	and STRUCT_VALUE_ADDR_VALUE instead of a list of arguments.  Move
	code to split complex arguments here, as part of initializing the
	ARGS array.
	(expand_call): Remove code that builds a list of arguments and
	inserts implicit arguments into it.  Instead, just count how many
	implicit arguments there will be so we can determine the size of
	the ARGS array, and let initialize_argument_information do the work.
	(split_complex_values): Delete unused function.

From-SVN: r122101
2007-02-18 14:34:28 -05:00
Eric Botcazou
483edb9201 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
2007-02-18 14:03:24 +00:00
Eric Botcazou
ae22dcff00 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
2007-02-18 13:52:46 +00:00
Eric Botcazou
0028647ea7 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
2007-02-18 13:43:05 +00:00
Manuel López-Ibáñez
3034b4535a 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
2007-02-18 11:55:53 +00:00
Paolo Carlini
f56fe8ff92 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
2007-02-18 11:32:44 +00:00
Kazu Hirata
27a9b99d08 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
2007-02-18 02:18:25 +00:00
Kazu Hirata
165a0dc32a * class.c: Fix a comment typo.
From-SVN: r122086
2007-02-18 01:51:00 +00:00
Kazu Hirata
c9819cb2bc * objc/objc-act.c: Fix comment typos.
From-SVN: r122085
2007-02-18 01:45:58 +00:00
Roman Zippel
01e304f8a9 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
2007-02-18 01:30:58 +00:00
Roman Zippel
3670ec284d 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
2007-02-18 01:20:15 +00:00
Roman Zippel
19a956978f linux.h (MD_UNWIND_SUPPORT): Define.
* config/m68k/linux.h (MD_UNWIND_SUPPORT): Define.
	* config/m68k/linux-unwind.h: New file.

From-SVN: r122082
2007-02-18 01:16:55 +00:00
Kazu Hirata
b9704fc5f6 * decl.c, tree.c: Fix comment typos.
From-SVN: r122081
2007-02-18 00:59:36 +00:00
Kazu Hirata
ea2c620c64 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
2007-02-18 00:52:51 +00:00
GCC Administrator
aabd86cb15 Daily bump.
From-SVN: r122078
2007-02-18 00:17:30 +00:00
Mark Mitchell
beeaf21625 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
2007-02-17 13:35:03 +00:00
Kazu Hirata
51db94a08e 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
2007-02-17 04:01:30 +00:00
Geoffrey Keating
e4cad568ec 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
2007-02-17 01:47:38 +00:00
Geoffrey Keating
982afe020c * config/rs6000/rs6000.c: Clean up trailing whitespace.
From-SVN: r122066
2007-02-17 01:28:16 +00:00
Keith Seitz
8e53f957a1 * 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
2007-02-17 01:21:28 +00:00
GCC Administrator
9923974299 Daily bump.
From-SVN: r122063
2007-02-17 00:17:46 +00:00
Eric Botcazou
9f3432b8a6 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
2007-02-16 23:40:52 +00:00
David Daney
599b39ce9d 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
2007-02-16 21:23:10 +00:00
Edwin Steiner
d16c4b1a16 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
2007-02-16 19:19:11 +00:00
Uros Bizjak
fa681e3960 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
2007-02-16 19:36:01 +01:00
Kyle Galloway
ce359ed916 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
2007-02-16 18:32:07 +00:00
Gary Benson
2c39a2b1e9 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
2007-02-16 14:54:25 +00:00
Paolo Carlini
01bc4081b3 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
2007-02-16 14:26:21 +00:00
Andrew Haley
24d8ce15e2 [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
2007-02-16 13:51:04 +00:00
Richard Guenther
421076b552 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
2007-02-16 13:41:03 +00:00
Francois-Xavier Coudert
6eedbf0dce * runtime/memory.c (deallocate): Correct comment.
From-SVN: r122038
2007-02-16 10:07:00 +00:00
Tobias Burnus
7386531227 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
2007-02-16 10:55:20 +01:00
Richard Guenther
40b448ef3a 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
2007-02-16 09:34:24 +00:00
Ralf Wildenhues
70d0631e69 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
2007-02-16 08:53:51 +00:00
Brooks Moses
123ddd683b * Makefile.in: Added "pdf" target to .PHONY.
From-SVN: r122031
2007-02-15 20:31:21 -08:00
Roger Sayle
939409afce 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
2007-02-16 03:38:22 +00:00
Andrew Pinski
3c32c87f60 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
2007-02-15 17:27:42 -08:00
Andrew Pinski
76b9a2a1cd 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
2007-02-15 17:23:35 -08:00
Andrew Pinski
d3d6f724f2 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
2007-02-15 17:19:23 -08:00
Matthias Klose
d0fc3f0654 texi2pod.pl: Handle @subsubsection, ignore @anchor.
2007-02-16  Matthias Klose  <doko@debian.org>

        * texi2pod.pl: Handle @subsubsection, ignore @anchor.

From-SVN: r122026
2007-02-16 01:02:57 +00:00
Ian Lance Taylor
73663bb75e 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
2007-02-16 00:42:11 +00:00
GCC Administrator
845a9c4e61 Daily bump.
From-SVN: r122023
2007-02-16 00:17:39 +00:00
Kyle Galloway
7a1bf87c6e 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
2007-02-16 00:05:39 +00:00
Sandra Loosemore
5039610b96 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
2007-02-15 18:50:49 -05:00
Manuel López-Ibáñez
dc90f45b24 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
2007-02-15 22:31:17 +00:00