* config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
expect SFmode and DFmode arguments to be passed in FPRs,
regardless of the underlying type.
Tom Tromey [Mon, 18 Aug 2003 14:36:07 +0000 (14:36 +0000)]
re PR libgcj/11951 (natMethod.cc (_Jv_CallAnyMethodA) should clear ffi_result before ffi_call)
PR libgcj/11951:
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Returns
void. Throw VirtualMachineError if ffi fails. Initialize return
value. Added is_jni_call argument; only wrap exception if not a
JNI call. Use descriptive message if operation not supported.
(_Jv_GetTypesFromSignature): Use declaring class' loader to find
array class.
* include/jvm.h (_Jv_CallAnyMethodA): Updated declaration.
* jni.cc (_Jv_JNI_CallAnyMethodV): Updated for new form of
_Jv_CallAnyMethodA.
(_Jv_JNI_CallAnyMethodA): Likewise.
(_Jv_JNI_CallAnyVoidMethodV): Likewise.
(_Jv_JNI_CallAnyVoidMethodA): Likewise.
* config/mips/mips.md: Quote C code in braces. Remove use of
fake const0_rtx operands. Remove double backslashes. Use \;.
Remove workarounds for bogus warnings.
mips.md (muldf3, mulsf3): Don't call a gen_* function.
* config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
(muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
rather than TARGET_MIPS4300.
(mulsf3_internal, mulsf3_r4300): Likewise.
Phil Edwards [Sun, 17 Aug 2003 20:27:28 +0000 (20:27 +0000)]
configure.ac: GCC_NO_EXECUTABLES was supposed to be commented in the patch from 3 minutes ago.
2003-08-17 Phil Edwards <pme@gcc.gnu.org>
* configure.ac: GCC_NO_EXECUTABLES was supposed to be commented
in the patch from 3 minutes ago. Boy, is my face red.
* configure: At least I remembered to regenerate this.
Phil Edwards [Sun, 17 Aug 2003 20:23:12 +0000 (20:23 +0000)]
acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES and LIBSUPCXX_INCLUDES.
2003-08-17 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Remove LIBMATH_INCLUDES
and LIBSUPCXX_INCLUDES. Re-purpose TOPLEVEL_INCLUDES to refer to
things from the top level.
* configure.ac (GLIBCXX_IS_NATIVE): Determine earlier and re-order.
Comment out the conditionals for CANADIAN and GLIBCXX_BUILD_LIBMATH
(currently unused). Strip the fake-VPATH shell fragment from
automake-generated rules, if present.
* linkage.m4: Add comment.
* fragment.am: New file, containing factored-out common settings.
(AM_CPPFLAGS): Absorb the deprecated INCLUDES variable contents.
* Makefile.am: Include fragment.am. Remove common variables.
* include/Makefile.am: Likewise.
* libmath/Makefile.am: Likewise.
* libsupc++/Makefile.am: Likewise.
* po/Makefile.am: Likewise. Print rules during check.
* src/Makefile.am: Likewise.
* testsuite/Makefile.am: Likewise.
Roger Sayle [Sun, 17 Aug 2003 19:24:09 +0000 (19:24 +0000)]
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.
Gerald Pfeifer [Sat, 16 Aug 2003 14:02:24 +0000 (14:02 +0000)]
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.
Nathan Sidwell [Sat, 16 Aug 2003 13:32:11 +0000 (13:32 +0000)]
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.
Jan Hubicka [Sat, 16 Aug 2003 11:04:59 +0000 (13:04 +0200)]
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.
Jan Hubicka [Fri, 15 Aug 2003 11:14:01 +0000 (13:14 +0200)]
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.
Roger Sayle [Thu, 14 Aug 2003 20:53:26 +0000 (20:53 +0000)]
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.
Zack Weinberg [Thu, 14 Aug 2003 20:25:14 +0000 (20:25 +0000)]
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.
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.
Mohan Embar [Wed, 13 Aug 2003 07:08:29 +0000 (07:08 +0000)]
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
Mark Mitchell [Tue, 12 Aug 2003 22:26:25 +0000 (22:26 +0000)]
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.
Tom Tromey [Tue, 12 Aug 2003 20:34:51 +0000 (20:34 +0000)]
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.
Tom Tromey [Tue, 12 Aug 2003 20:32:28 +0000 (20:32 +0000)]
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.
Jeroen Frijters [Tue, 12 Aug 2003 20:23:22 +0000 (20:23 +0000)]
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.
Roger Sayle [Tue, 12 Aug 2003 01:46:54 +0000 (01:46 +0000)]
simplify-rtx.c (simplify_binary_operation): Replace calls to gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary...
* simplify-rtx.c (simplify_binary_operation): Replace calls to
gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
Kaz Kojima [Tue, 12 Aug 2003 01:25:07 +0000 (01:25 +0000)]
lib1funcs.asm (__udivdi3): Add .type and .size information in SHmedia case too.
* config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
information in SHmedia case too.
(__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
Likewise.
(__set_fpscr): Use an access via GOT for PIC case.
Kaveh R. Ghazi [Mon, 11 Aug 2003 21:50:06 +0000 (21:50 +0000)]
gcse.c (gmalloc): Argument is a size_t.
* gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
(grealloc): Size argument is a size_t.
(gcalloc): New function. Use throughout in lieu of
gmalloc/memset.
Phil Edwards [Mon, 11 Aug 2003 05:26:58 +0000 (05:26 +0000)]
acinclude.m4: Properly quote variable which will be expanded inside makefiles.
2003-08-11 Phil Edwards <pme@gcc.gnu.org>
* acinclude.m4: Properly quote variable which will be expanded
inside makefiles. Use CXX instead of CC to extract compiler info.
* configure.ac (AC_INIT): Use the new 4-arg form to finally get the
correct form in PACKAGE.
* aclocal.m4, configure: Regenerate.