Jakub Jelinek [Mon, 2 Aug 1999 23:17:06 +0000 (01:17 +0200)]
Jakub Jelinek <jj@ultra.linux.cz>
* c-decl.c (get_parm_info, store_parm_decls): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* c-typecheck.c (convert_arguments): Ditto.
* expr.h: Supply default for PROMOTE_PROTOTYPES (0).
Jakub Jelinek [Mon, 2 Aug 1999 23:14:31 +0000 (01:14 +0200)]
Jakub Jelinek <jj@ultra.linux.cz>
* java/decl.c (start_java_method): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* java/expr.c (pop_arguments): Ditto.
* java/parse.y (expand_start_java_method): Ditto.
Jakub Jelinek [Mon, 2 Aug 1999 23:14:12 +0000 (01:14 +0200)]
Jakub Jelinek <jj@ultra.linux.cz>
* call.c (convert_default_arg, build_over_call): Change all uses of
PROMOTE_PROTOTYPES, so that it tests it as a C expression.
Ensure expr.h is included.
* decl.c (grokparams): Ditto.
* pt.c (tsubst_decl): Ditto.
* typeck.c (convert_arguments): Ditto.
Jakub Jelinek [Mon, 2 Aug 1999 23:06:52 +0000 (01:06 +0200)]
linux.h: Define WCHAR_TYPE as "int" and undef MAX_WCHAR_TYPE defined in sparc.h.
* config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
MAX_WCHAR_TYPE defined in sparc.h.
* config/sparc/linuxaout.h: Likewise.
* config/sparc/linux64.h: Likewise.
Also default to -mvis if CPU is UltraSPARC.
Jason Merrill [Mon, 2 Aug 1999 22:59:03 +0000 (22:59 +0000)]
class.c (mark_overriders): Fix order of args to overrides.
* class.c (mark_overriders): Fix order of args to overrides.
(warn_hidden): Likewise. Fix for having virtual and non-virtual
functions with the same name.
* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
(RTX_OK_FOR_OLO10): Likewise.
(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
%lo(), allow it in addresses...
(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
does not make sense.
* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
(sparc_output_scratch_registers): New function.
(output_function_prologue, sparc_flat_output_function_prologue): Use
it.
* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
defined.
* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
* configure.in: Add check for .register pseudo-op support in as and
check for offsetable %lo().
* acconfig.h: Add templates for the above checks.
* configure: Regenerate.
Jeffrey A Law [Mon, 2 Aug 1999 09:45:16 +0000 (09:45 +0000)]
pa.c (legitimize_pic_address): Clarify comments.
* pa.c (legitimize_pic_address): Clarify comments. Do not call the
pic_load_label generator directly.
* pa.md (pic_load_label): Clarify comments. Remove modes on operands.
No longer a named pattern.
Geoff Keating [Sun, 1 Aug 1999 16:14:58 +0000 (16:14 +0000)]
rs6000.c (num_insns_constant_wide): Correct for type promotion.
* config/rs6000/rs6000.c (num_insns_constant_wide): Correct
for type promotion.
(add_operand): Get test correct for 64-bit HOST_WIDE_INT.
(non_add_cint_operand): Likewise.
(logical_operand): Likewise.
(non_logical_cint_operand): Likewise.
(print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
(print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
(rs6000_select_rtx_section): Suppress warning.
(small_data_operand): Suppress warning.
(rs6000_got_register): Suppress warning.
* config/rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
type, so `J' is generally the wrong constraint for a SImode value;
use `L' instead.
(andsi3_internal2): Likewise.
(andsi3_internal3): Likewise.
(iorsi3_internal1): Likewise.
(xorsi3_internal1): Likewise.
(movsi): Likewise.
(movsf_softfloat): Likewise.
various unnamed compare insns: Likewise.
(movsi+2): Preserve sign bits of SImode constant.
(floatsidf2_internal+1): Sign-extend SImode constant correctly.
(movdf+1): Preserve high bits of DFmode constant.
(movdi_32+1): Sign-extend properly.
various unnamed compare insns: Sign-extend properly.
* unroll.c (loop_iterations): Convert HOST_WIDE_INT to unsigned
properly for mode.
* expmed.c (expand_mult_highpart): Convert HOST_WIDE_INT from unsigned
properly for mode.
(expand_divmod): Likewise.
* optabs.c (expand_fix): Keep HOST_WIDE_INT constants properly signed.
(expand_binop): Sometimes there is work to do when changing
the mode of a CONST_INT.
Alexandre Oliva [Sun, 1 Aug 1999 00:14:32 +0000 (00:14 +0000)]
configure.in: Check for struct hostent_data and need for -D_REENTRANT for gethostbyname_r...
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
* configure.in: Check for struct hostent_data and need for
-D_REENTRANT for gethostbyname_r declaration.
* java/net/natInetAddress.cc: Define _REENTRANT if needed.
(lookup): Use hostent_data for fixed_buffer.
* configure, include/config.h.in: Rebuilt.
libjava.exp (bytecompile_file): Use `env(SUN_JAVAC)', that defaults to javac, as Sun-javac compiler or compatible.
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
* lib/libjava.exp (bytecompile_file): Use `env(SUN_JAVAC)', that
defaults to javac, as Sun-javac compiler or compatible.
(libjava_init): Get GCJ from environment if neither GCJ_UNDER_TEST
nor TOOL_EXECUTABLE are set. Set `original_ld_library_path' from
environment.
(libjava_arguments): Prepend `.' and `$srcdir/$subdir' to
CLASSPATH, for `support' sources. Search for libgcj.spec in
`$objdir/..', by adding -B to GCJ_UNDER_TEST. Append
original_ld_library_path to ld_library_path.
* libjava.mauve/mauve.exp (test_mauve): Set `env(GCJ)' from
GCJ_UNDER_TEST, calculated just like in libjava.exp.
natSystem.cc (arraycopy): Use bcopy if memmove is not available.
1999-07-31 Alexandre Oliva <oliva@dcc.unicamp.br>
* java/lang/natSystem.cc (arraycopy): Use bcopy if memmove is not
available. Don't cast memmove args to (void*).
* configure.in: Do not abort if memmove is not available.
Jeffrey A Law [Sat, 31 Jul 1999 10:27:42 +0000 (10:27 +0000)]
pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead of depending on a magic constant value.
* pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
of depending on a magic constant value. Update comments.
(hppa_expand_prologue): Similarly.
Vladimir Makarov [Fri, 30 Jul 1999 22:44:08 +0000 (22:44 +0000)]
sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto -Asparclite for sparc86x.
1999-07-30 Vladimir Makarov <vmakarov@loony.cygnus.com>
* config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
-Asparclite for sparc86x.
(CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
sparc86x.
(ASM_CPU_SPEC): Use -Asparclite for sparc86x.
Jakub Jelinek [Fri, 30 Jul 1999 21:55:06 +0000 (23:55 +0200)]
Jakub Jelinek <jj@ultra.linux.cz>
* config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
the user if using the non-default arch size in BI_ARCH configuration.
* config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
* config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
Fix patterns so that they actually match.
(cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
(mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
(const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
TARGET_HARD_MUL32.
(mulsidi3): Reflect this in the expand.
(smulsi3_highpart): Only on TARGET_ARCH32.
(umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
(const_umulsidi3_sp32): Renamed from const_umulsidi3.
(umulsidi3): Reflect this in the expand.
(umulsi3_highpart): Only on TARGET_ARCH32.
(divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
don't require g0 to be zero.
(udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
({,u}divsi3): New expands.
({,u}divsi3_sp64): New patterns.
(after lshrdi3_v8plus): Four new patterns to help combiner
optimizing nested mixed mode shifts.
* config/sparc/sparc.c (sparc_override_options): Use deprecated
v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
speed things up. Don't use them by default on plain v9 in 64bit
mode, according to what SPAMv9 sais.
* config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
top 32 bits of %[og][0-7] in signal handlers.
Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
* expr.c (build_java_soft_divmod): Provide a default case in switch.
(java_lang_expand_expr): Mark parameters `target', `tmode' and
`modifier' with ATTRIBUTE_UNUSED.
* gjavah.c (process_file): Add braces around ambiguous `else'.
* jcf-dump.c (print_access_flags, localvar_free): Change return
type to void.
* parse.y (java_complete_expand_method): Initialize variable
`exception_copy'.
(resolve_qualified_expression_name): Likewise for `field_decl'.
(patch_method_invocation): Likewise for `class_to_search'.
(qualify_ambiguous_name): Likewise for `name' and `ptr_type'.
(patch_assignment): Likewise for `lhs_type'.
Jeffrey A Law [Thu, 29 Jul 1999 07:26:58 +0000 (07:26 +0000)]
pa.md (indirect_jump): Remove mode from match_operand.
* pa.md (indirect_jump): Remove mode from match_operand. Verify
proper mode in the condition string.
(icacheflush, dcacheflush): Remove modes from match_operands.
Jeffrey A Law [Wed, 28 Jul 1999 22:34:57 +0000 (22:34 +0000)]
pa.c (store_reg): Do not call add_high_const generator directly.
* pa.c (store_reg): Do not call add_high_const generator directly.
(load_reg, set_reg_plus_d): Likewise.
* pa.md (add_high_const): No longer a named pattern.
Jeffrey A Law [Wed, 28 Jul 1999 21:46:39 +0000 (21:46 +0000)]
pa.c (legitimize_address): Consistently use Pmode rather than SImode.
* pa.c (legitimize_address): Consistently use Pmode rather than
SImode. Do not call gen_pic2_highpart directly anymore.
* pa.md (pic2_highpart): No longer a named pattern.
(pic2_lo_sum): Similarly. Reformat to make more readable.
pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set and tag the spill mems.
* pa.c (hppa_builtin_saveregs): Use get_varargs_alias_set
and tag the spill mems.
(hppa_va_start): New.
(hppa_va_arg): New.
* pa.h (EXPAND_BUILTIN_VA_START): New.
(EXPAND_BUILTIN_VA_ARG): New.
mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set and tag the spill mems.
* mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
and tag the spill mems.
(mn10300_va_start): New.
(mn10300_va_arg): New.
* mn10300.h (EXPAND_BUILTIN_VA_START): New.
(EXPAND_BUILTIN_VA_ARG): New.
Mark Mitchell [Wed, 28 Jul 1999 08:20:09 +0000 (08:20 +0000)]
call.c (conditional_conversion): Don't build BASE_CONVs for conversions between things that have the same type.
* call.c (conditional_conversion): Don't build BASE_CONVs for
conversions between things that have the same type.
(build_conditional_expr): Tweak.
(convert_like): Some BASE_CONVs really do require the generation
of code.
* init.c (perform_member_init): Don't go through build_modify_expr
for simple initializations.
Jeffrey A Law [Wed, 28 Jul 1999 05:21:38 +0000 (05:21 +0000)]
pa.md (post_store, pre_load): New expanders.
* pa.md (post_store, pre_load): New expanders.
(post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
(post_ldwm, pre_stwm): Make these unnamed patterns since we never
need to directly generate RTL for them.
* pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
changes.