Commit Graph

52271 Commits

Author SHA1 Message Date
Roger Sayle dd61aa98ca simplify-rtx.c (associative_constant_p): New function to test whether an RTX expression is an immediate constant.
* simplify-rtx.c (associative_constant_p): New function to test
	whether an RTX expression is an immediate constant.
	(simplify_associative_operation): New function to perform some
	reassociation optimizations of associative binary expressions.
	(simplify_binary_operation): Use simplify_associative_operation
	to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
	Floating point expressions are only reassociated when unsafe
	math optimizations are permitted.

From-SVN: r70521
2003-08-17 19:24:09 +00:00
Andreas Jaeger fde46628fa Convert K&R prototypes to ISO C90.
From-SVN: r70516
2003-08-17 12:28:42 +02:00
Andreas Jaeger 9c808aadb0 alpha.md: Remove usage of PARAMS.
* config/alpha/alpha.md: Remove usage of PARAMS.

        * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
        * config/i386/i386-interix.h: Likewise.
        * config/i386/winnt.c: Likewise.
        * config/i386/cygming.h: Likewise.
        * config/i386/cygwin2.c: Likewise.
        * config/darwin.c: Likewise.
        * config/darwin-c.c: Likewise.
        * config/darwin-protos.h: Likewise.
        * config/darwin.h: Likewise.
        * config/s390/s390-protos.h: Likewise.
        * config/s390/s390.c: Likewise.
        * config/ia64/ia64.c: Likewse
        * config/ia64/ia64-protos.h: Likewise.

From-SVN: r70515
2003-08-17 12:00:04 +02:00
Jan Hubicka e20bcc5e13 re PR c++/11702 ([unit-at-a-time] Failure to emit code for inlined function in space)
PR C++/11702
	* semantics.c (finish_id_expression): Mark all functions as used.

From-SVN: r70514
2003-08-17 08:07:27 +00:00
GCC Administrator d234f34116 Daily bump.
From-SVN: r70512
2003-08-17 00:16:06 +00:00
Kaveh R. Ghazi fc27d1023c * config/sparc/sparc.c: Convert to ISO C.
From-SVN: r70510
2003-08-16 23:59:56 +00:00
Kaveh R. Ghazi e80d5f8061 sparc-protos.h: Don't use the PARAMS macro.
* config/sparc/sparc-protos.h: Don't use the PARAMS macro.
	* config/sparc/sparc.c: Likewise.

From-SVN: r70509
2003-08-16 22:13:39 +00:00
Gerald Pfeifer ae7a543957 gcc_release (build_sources): Use two new variables EXPORTTAG and EXPORTDATE to make the extraction of...
* gcc_release (build_sources): Use two new variables EXPORTTAG and
	EXPORTDATE to make the extraction of sources more transparent and
	also allow snapshots (off mainline) without a tag.

From-SVN: r70507
2003-08-16 14:02:24 +00:00
Nathan Sidwell bfeec33d09 Remove 3.4 change list, point to gcc-3.4/changes.html
From-SVN: r70506
2003-08-16 13:49:27 +00:00
Nathan Sidwell e895113a67 re PR c++/11512 (Spurious warning for comma-operator in templates)
PR c++/11512
	* stmt.c (expand_expr_stmt_value): Don't warn about any void
	typed expression.
cp:
	PR c++/11512
	* cvt.c (convert_to_void): Indicate which side of conditional has
	no effects, and rhs of comma operator. Test for no sideeffect
	expressions here and always build a convert expr.
	* init.c (expand_default_init): Convert the init to void.
	* typeck.c (build_x_compound_expr): Do not check for side effects
	here.
	(build_compound_expr): Do not convert lhs when building a
	template.
testsuite:
	PR C++/11512
	* g++.dg/template/warn1.C: New.

From-SVN: r70505
2003-08-16 13:32:11 +00:00
Jan Hubicka e767b5be43 i386.c (ix86_fntype_regparm): Rename from ...
* i386.c (ix86_fntype_regparm): Rename from ...
	(ix86_function_regparm): ... this one; add fastcall and local
	functions.
	(ix86_function_ok_for_sibcall): Update.
	(ix86_return_pops_args): Likewise.
	(init_cumulative_args): Likewise.
	(x86_can_output_mi_thunk): Likewise.
	(function_arg): Fix formating.
	(x86_this_parameter): Fix fastcall.
	(x86_output_mi_thunk): Likewise.

	* cgraph.c (cgraph_mark_needed_node): Do not mark functions without
	body as reachable; mark nested functions as needed too.
	(dump_cgraph): Do not output global.calls.
	* cgraph.h (cgraph_global_info): Kill.
	* cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
	(record_call_1): Speedup.
	(cgraph_analyze_function): Break out from ...; compute inlining
	parameters.
	(cgraph_finalize_compilation_unit): ... here.
	(cgraph_mark_inline): Kill computation of calls.
	(cgraph_decide_inlining): Do not compute most of initial values.

From-SVN: r70504
2003-08-16 11:04:59 +00:00
GCC Administrator 5ab7486eee Daily bump.
From-SVN: r70498
2003-08-16 00:16:07 +00:00
Nathan Sidwell 018a580308 cp-tree.def (NON_DEPENDENT_EXPR): Add operand.
* cp-tree.def (NON_DEPENDENT_EXPR): Add operand.
	* decl2.c (build_offset_ref_call_from_tree): Use
	build_non_dependent_expr.
	* error.c (dump_expr) <NON_DEPENDENT_EXPR case>: Dump the operand.
	* pt.c (build_non_dependent_expr): Set operand.

From-SVN: r70478
2003-08-15 12:15:56 +00:00
Jan Hubicka 6cad4e1709 decl2.c (mark_member_pointers): Rename to...
* decl2.c (mark_member_pointers): Rename to...
	(mark_member_pointers_and_eh_tinfos): ... this one; deal with eh tinfos
	(lower_function): Update call.
	* except.c (eh_type_info): Break out from ...
	(build_eh_type): ... here; tinfo is already used.
        (finish_eh_spec_block): Mark tinfos as used.
        * semantics.c (finish_handler_params): Mark tinfo as used.
	* cp-tree.h(eh_type_info): Declare.

From-SVN: r70477
2003-08-15 11:14:01 +00:00
Nathan Sidwell 68ea098a05 cp: * pt.c (instantiate_class_template): Set location before substuting bases.
cp:	* pt.c (instantiate_class_template): Set location before
	substuting bases.
testsuite:
	* g++.dg/template/error2.C: New test.
	* g++.dg/lookup/using7.C: Adjust errors
	* g++.old-deja/g++.pt/crash36.C: Likewise.
	* g++.old-deja/g++.pt/derived3.C: Likewise.

From-SVN: r70476
2003-08-15 10:46:51 +00:00
Nathan Sidwell 4f7847cab9 decl.c (make_typename_type): Use my_friendly_assert.
* decl.c (make_typename_type): Use my_friendly_assert.
	* pt.c (tsubst_aggr_type): Rearrange context substitution.

From-SVN: r70475
2003-08-15 10:23:46 +00:00
Jan Hubicka ab0ba00c84 * method.c (use_thunk): Expand body directly.
From-SVN: r70473
2003-08-15 08:55:48 +00:00
GCC Administrator 34945b31d9 Daily bump.
From-SVN: r70459
2003-08-15 00:16:08 +00:00
Roger Sayle 8ab49fef1f fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy to negate if either operand is easy to negate...
* fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
	to negate if either operand is easy to negate, if we don't care
	about sign-dependent rounding.
	(negate_expr): Make the logic to negate a REAL_CST explicit.
	Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
	that's easy to negate, if we don't honor sign-dependent rounding.
	(fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
	negate, and the symmetric A * -B as -A * B if A is easy to negate.
	(fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
	-C/D if B and C are cheap to negate.  Add an explicit rule to
	optimize X/-1.0 as -X when we don't care about signaling NaNs.

From-SVN: r70455
2003-08-14 20:53:26 +00:00
Alexandre Duret-Lutz 74bed51bf6 * config-ml.in, symlink-tree: Add license.
From-SVN: r70454
2003-08-14 16:44:23 -04:00
Zack Weinberg e22340b010 Makefile.in (tm_file): Rename tm_include_list.
* Makefile.in (tm_file): Rename tm_include_list.
	(tm_p_file): Rename tm_p_include_list.
	(build_xm_file): Rename build_xm_include_list.
	(host_xm_file): Rename host_xm_include_list.
	(xm_file): Rename xm_include_list.
	(xm_file_list): Add to be substituted.
	(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
	Update to match.
	(bt-load.o): Add missing dependency on $(TM_H).
	* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
	For each of tm_file, tm_p_file, xm_file, host_xm_file, and
	build_xm_file, generate both *_file_list and *_include_list
	values from it.  (xm_file_list was formerly not being generated.)
	In *_include_list, prefix the names of all headers found in
	$(srcdir)/config with config/.  In each loop, consider only
	the special case files that can actually appear in that list.
	AC_SUBST all *_file_list and all *_include_list variables; do
	not AC_SUBST the plain *_file variables.
	* configure: Regenerate.

From-SVN: r70449
2003-08-14 20:25:14 +00:00
Zdenek Dvorak 4139675b40 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
From-SVN: r70442
2003-08-14 18:18:42 +00:00
John David Anglin 3256230283 pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in direct calls.
* pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
	direct calls.
	(attr_length_call): Include it here.  Improve length estimate for
	local calls.
	(output_call): Use targetm.binds_local_p.

From-SVN: r70441
2003-08-14 18:06:12 +00:00
Kaveh R. Ghazi daa027cc47 builtins.c (CASE_MATHFN): New helper macro.
* builtins.c (CASE_MATHFN): New helper macro.
	(mathfn_built_in): Simplify and sort.

From-SVN: r70436
2003-08-14 14:38:38 +00:00
Kaveh R. Ghazi d256ac69ee strcat.c: New.
* gcc.c-torture/execute/builtins/lib/strcat.c: New.
	* gcc.c-torture/execute/builtins/string-9-lib.c: New.
	* gcc.c-torture/execute/builtins/string-9.c: New, from
	string-opt-9.c.  Adjust for execute/builtins framework.
	* gcc.c-torture/execute/string-opt-9.c: Delete.

From-SVN: r70435
2003-08-14 14:26:15 +00:00
Kaveh R. Ghazi 9e46226d99 * protoize.c (substr): Delete, callers changed to `strstr'.
From-SVN: r70430
2003-08-14 06:04:46 +00:00
Zack Weinberg c5d190371b config.gcc (iq2000*-*-elf*): Don't set xm_file.
* config.gcc (iq2000*-*-elf*): Don't set xm_file.
        * config/iq2000/xm-iq2000.h: Delete file.

From-SVN: r70428
2003-08-14 04:18:13 +00:00
Geoffrey Keating 4da6879c75 gengtype.c (walk_type): Process a subobject before processing the pointer that points to the subobject.
* gengtype.c (walk_type): Process a subobject before processing
	the pointer that points to the subobject.

From-SVN: r70427
2003-08-14 03:10:49 +00:00
Per Bothner 2842011664 regclass.c (init_reg_modes): Make non-static.
* regclass.c (init_reg_modes):  Make non-static.
	Rename to init_reg_modes_once per new naming convention.
	(init_regs):  Don't call init_reg_modes here.
	* emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
	* rtl.h (init_reg_modes_once):  New declaration.
	* toplev.c (backend_init):  Call init_regs after init_emit_once.

From-SVN: r70426
2003-08-13 18:47:31 -07:00
GCC Administrator 3def5fb4fd Daily bump.
From-SVN: r70424
2003-08-14 00:16:07 +00:00
Kaz Kojima 235b4b36bf linux.h (DBX_REGISTER_NUMBER): Define so to map a special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
* config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
	special index for MD_FALLBACK_FRAME_STATE_FOR to itself.

From-SVN: r70422
2003-08-14 00:11:19 +00:00
Kaz Kojima 996b4f8f5a ffi.c (OFS_INT16): Set 0 for little endian case.
* src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
	copyright years.

From-SVN: r70421
2003-08-13 23:36:54 +00:00
Matthias Klose 872119b16c fastjar.texi: License manual under the GPL.
2003-08-13  Matthias Klose  <doko@debian.org>

        * fastjar.texi: License manual under the GPL.
        * Makefile.am: Remove reference to fdl.texi
        * Makefile.in: Regenerate

From-SVN: r70414
2003-08-13 21:04:12 +00:00
J"orn Rennecke dce20bbc11 sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
* sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
	* sh.md (load_ra): Change insn predicate to TARGET_SH1.

From-SVN: r70410
2003-08-13 20:20:16 +01:00
Tom Tromey bc5ad3e6c4 * gij.cc (help): Document -? and -X.
From-SVN: r70407
2003-08-13 17:20:08 +00:00
Tom Tromey 7f8b470460 * gcj.texi (Invoking gij): Document -X and -?.
From-SVN: r70406
2003-08-13 17:18:20 +00:00
Dale Johannesen 5a195cb564 rs6000.md (ctrsi, ctrdi): Reenable handling of decrement-and-branch farther than 32 bits.
* config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
	handling of decrement-and-branch farther than 32 bits.

From-SVN: r70405
2003-08-13 17:05:19 +00:00
Graydon Hoare 38e46bff5f Font.java: Stub out more recent API.
2003-08-12  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Font.java:
	Stub out more recent API.

From-SVN: r70404
2003-08-13 16:49:58 +00:00
Mohan Embar d0cf60ccdb Make-lang.in: Added missing win32-host.o to JAVA_OBJS, GCJH_OBJS, JCFDUMP_OBJS
* Make-lang.in: Added missing win32-host.o to JAVA_OBJS,
	GCJH_OBJS, JCFDUMP_OBJS
	* win32-host.c: Removed the unnecessary and broken dependency
	on jcf.h

From-SVN: r70402
2003-08-13 07:08:29 +00:00
Graydon Hoare 479f4325c8 Color.java (getAlpha): Prevent sign-extended alpha values.
2003-08-12  Graydon Hoare  <graydon@redhat.com>

	* java/awt/Color.java (getAlpha):
	Prevent sign-extended alpha values.

From-SVN: r70401
2003-08-13 03:20:04 +00:00
Mark Mitchell 4717fcc7f7 * g++.dg/init/new8.C: Use __SIZE_TYPE__ to get the type of size_t.
From-SVN: r70399
2003-08-13 02:23:37 +00:00
GCC Administrator 08ef9f85db Daily bump.
From-SVN: r70397
2003-08-13 00:16:07 +00:00
Kelley Cook 3a000df0e6 configure.in (make_compare_target): Move test to ...
2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>

	* configure.in (make_compare_target): Move test to ...
	* aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
	* configure: Regenerate.

From-SVN: r70392
2003-08-12 22:35:22 +00:00
Mark Mitchell 560ad596bd re PR c++/11703 (Problem with using enum in placement delete)
PR c++/11703
	* call.c (type_passed_as): Use TYPE_SIZE, not TYPE_PRECISION to
	determine whether or not to promote types.
	(convert_for_arg_passing): Likewise.
	* decl2.c (cp_build_parm_decl): Do not set DECL_ARG_TYPE in
	templates.
	* pt.c (tsubst_decl): Do not expect it to be set.

	PR c++/9512
	PR c++/10923
	* cp-tree.h (check_elaborated_type_specifier): Declare.
	(handle_class_head): Remove.
	(note_got_semicolon): Likewise.
	(note_list_got_semicolon): Likewise.
	(finish_class_definition): Likewise.
	* decl.c (check_elaborated_type_specifier): Make it public.
	Robustify.
	(handle_class_head): Remove.
	* parser.c (cp_parser_elaborated_type_specifier): Use
	check_elaborated_type_specifier.
	(cp_parser_class_specifier): Do not call finish_class_definition.
	(cp_parser_class_head): Or handle_class_head.  Check for
	over-qualified names.
	* semantics.c (finish_class_definition): Remove.

	* parser.c (cp_parser_check_for_definition_in_return_type): New
	function.
	(cp_parser_simple_declaration): Adjust call to
	cp_parser_init_declarator.
	(cp_parser_decl_specifier_seq): Change type of
	declares_class_or_enum parameter.
	(cp_parser_explicit_instantiation): Adjust accordingly.
	(cp_parser_type_specifier): Change type of
	declares_class_or_enum parameter.
	(cp_parser_init_declarator): Add declares_class_or_enum
	parameter.
	(cp_parser_parameter_declaration): Adjust call to
	cp_parser_decl_specifier_seq.
	(cp_parser_function_definition): Likewise.
	(cp_parser_member_declaration): Likewise.
	(cp_parser_single_declaration): Likewise.

	* cp-tree.h (lang_type_class): Remove has_call_overloaded,
	has_array_ref_overloaded, has_arrow_overloaded, and got_semicolon.
	(TYPE_OVERLOADS_CALL_EXPR): Remove.
	(TYPE_OVERLOADS_ARRAY_REF): Likewise.
	(TYPE_OVERLOADS_ARROW): Likewise.
	(CLASSTYPE_GOT_SEMICOLON): Likewise.
	* class.c (check_bases): Do not set them.
	(finish_struct_1): Likewise.
	* decl.c (cp_finish_decl): Do not set CLASSTYPE_GOT_SEMICOLON.
	(build_ptrmemfunc_type): Likewise.
	(grok_op_properties): Do not set TYPE_OVERLOADS_*.
	(start_function): Do not check CLASSTYPE_GOT_SEMICOLON.
	* decl2.c (grokfield): Do not set CLASSTYPE_GOT_SEMICOLON.
	* lex.c (note_got_semicolon): Remove.
	(note_list_got_semicolon): Likewise.
	* parser.c (cp_parser_simple_declaration): Do not call
	note_list_got_semicolon.
	* pt.c (list_eq): Remove.
	(lookup_template_class): Do not set CLASSTYPE_GOT_SEMICOLON.
	(instantiate_class_template): Do not set TYPE_OVERLOADS*.
	(instantiate_class_template): Do not set CLASSTYPE_GOT_SEMICOLON.
	* ptree.c (cxx_print_type): Do not print them.
	* semantics.c (finish_member_class_template): Do not call
	note_list_got_semicolon.

	* g++.dg/parse/ret-type2.C: New test.

	PR c++/11703
	* g++.dg/init/new8.C: New test.

	PR c++/10923
	* g++.dg/parse/typedef5.C: New test.

	PR c++/9512
	* g++.dg/parse/qualified2.C: New test.
	* g++.old-deja/g++.other/decl5.C: Mark one more instance of
	invalid code.

From-SVN: r70391
2003-08-12 22:26:25 +00:00
Tom Tromey 35e6511a74 * gij.cc (main): Handle -? and -X.
From-SVN: r70390
2003-08-12 21:35:18 +00:00
Richard Sandiford b4966b1ba5 iris6.h: Convert to C90 prototypes.
* config/mips/iris6.h: Convert to C90 prototypes.
	* config/mips/irix6-libc-compat.c: Likewise.
	* config/mips/mips-protos.h: Likewise.
	* config/mips/mips.c: Likewise.

From-SVN: r70389
2003-08-12 20:50:29 +00:00
Tom Tromey aecf41099b parse.y (java_check_regular_methods): Typo fixes.
* parse.y (java_check_regular_methods): Typo fixes.  Call
	check_interface_throws_clauses.  Use
	check_concrete_throws_clauses.
	(check_interface_throws_clauses): New function.
	(check_concrete_throws_clauses): New function.
	(hack_is_accessible_p): New function.
	(find_most_specific_methods_list): Added FIXME.
	* typeck.c (lookup_do): Use `flags' argument to decide what to
	do.  Reimplemented.
	(lookup_argument_method_generic): New function.
	(lookup_argument_method2): Removed.
	* jcf.h (ACC_INVISIBLE): New define.
	* jcf-write.c (generate_classfile): Skip invisible methods.
	* class.c (add_miranda_methods): New function.
	(layout_class_methods): Use it.
	(get_access_flags_from_decl): Use ACC_INVISIBLE.
	* java-tree.h (METHOD_INVISIBLE): New define.
	(lang_decl_func) [invisible]: New field.
	(lookup_argument_method_generic): Declare.
	(SEARCH_INTERFACE): New define.
	(SEARCH_SUPER): Likewise.
	(SEARCH_ONLY_INTERFACE): Likewise.
	(SEARCH_VISIBLE): Likewise.
	(lookup_argument_method2): Removed declaration.

From-SVN: r70388
2003-08-12 20:34:51 +00:00
Tom Tromey b9172475ad re PR java/5641 (Verifier ICE on reference to inherited method)
* libjava.jacks/jacks.xfail: Updated to account for new passes.
	* libjava.compile/abstr.xfail: Now can compile from bytecode.
	* libjava.compile/PR5641.xfail: Now can compile from bytecode.

From-SVN: r70387
2003-08-12 20:32:28 +00:00
Jeroen Frijters dc9a737381 2003-08-10 Jeroen Frijters <jeroen@frijters.net>
* java/awt/Container.java
	(getPreferredSize): Call preferredSize.
	(preferredSize): Moved body of getPreferredSize here.
	(getMinimumSize): Call minimumSize.
	(minimumSize): Moved body of getMinimumSize here.

From-SVN: r70386
2003-08-12 20:23:22 +00:00
Tom Tromey 358bfe3df3 mauve.exp (test_mauve_sim): Don't find DejaGNUTestHarness in gnu/testlet.
* libjava.mauve/mauve.exp (test_mauve_sim): Don't find
	DejaGNUTestHarness in gnu/testlet.
	(test_mauve): Use correct object extension.

From-SVN: r70381
2003-08-12 17:59:17 +00:00