mips.c (mips_setup_incoming_varargs): Handle o32 and o64 as well.
* config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
as well. Put memory references in the varargs alias set.
(mips_expand_prologue): Remove varargs handling from here.
Ulrich Weigand [Sat, 23 Aug 2003 15:39:18 +0000 (15:39 +0000)]
s390.c (s390_expand_movstr, [...]): Use ISO C syntax for function pointer calls.
* config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
for function pointer calls.
* config/s390/s390.md ("*negdi2_31"): Likewise.
re PR c++/3765 (member using declaration can't change access from public)
PR c++/3765
* search.c (dfs_access_in_type): Fix typo in comment.
(dfs_accessible_queue_p): Likewise.
(dfs_accessible_p): Only terminate when a friend is found.
(accessible_p): Return immediately if access_in_type allows
access.
Jason Eckhardt [Sat, 23 Aug 2003 04:20:02 +0000 (04:20 +0000)]
i860.c (i860_build_va_list): Create the va_decl declaration.
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/i860/i860.c (i860_build_va_list): Create the va_decl
declaration. Document the va_list structure.
(i860_va_start): Initialize the va_list structure.
(i860_va_arg): Rewrite completely.
* config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
* config/i860/varargs.asm: Do not allocate or initialize
a va_list. Return the address of the register save area.
Jason Eckhardt [Sat, 23 Aug 2003 02:46:12 +0000 (02:46 +0000)]
i860.c (output_move_double): Don't set latehalf to zero for CONST_INT (since it could be, e.g., -1).
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/i860/i860.c (output_move_double): Don't set latehalf
to zero for CONST_INT (since it could be, e.g., -1).
* config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
(MODSI3_LIBCALL): ...with this one.
(UREMSI3_LIBCALL): Replace this macro...
(UMODSI3_LIBCALL): ...with this one.
Jason Eckhardt [Sat, 23 Aug 2003 02:24:14 +0000 (02:24 +0000)]
i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
Remove all uses of the PARAMS macro. Remove superflous prototypes.
Convert all function definitions from traditional to ISO C90 syntax.
* config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
with 'GCC'. Remove all uses of the PARAMS macro.
* config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
* config/i860/i860.md: Likewise.
* config/i860/sysv4.h: Likewise.
* config/i860/varargs.asm: Likewise.
Jason Eckhardt [Sat, 23 Aug 2003 01:32:59 +0000 (01:32 +0000)]
pa.c: Replace 'GNU CC' with 'GCC'.
2003-08-22 Jason Eckhardt <jle@rice.edu>
* config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
Convert all function definitions to ISO C90 syntax.
* config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
* config/pa/fptr.c: Likewise.
* config/pa/lib2funcs.asm: Likewise.
* config/pa/long_double.h: Likewise.
* config/pa/milli64.S: Likewise.
* config/pa/pa-64.h: Likewise.
* config/pa/pa-hpux.h: Likewise.
* config/pa/pa-hpux10.h: Likewise.
* config/pa/pa-hpux11.h: Likewise.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-modes.def: Likewise.
* config/pa/pa-osf.h: Likewise.
* config/pa/pa-pro-end.h: Likewise.
* config/pa/pa.md: Likewise.
* config/pa/pa32-linux.h: Likewise.
* config/pa/pa64-linux.h: Likewise.
* config/pa/pa64-hpux.h: Likewise.
* config/pa/pa64-regs.h: Likewise.
* config/pa/quadlib.c: Likewise.
* config/pa/rtems.h: Likewise.
* config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
all uses of the PARAMS macro.
* config/pa/pa.h: Likewise.
* config/pa/som.h: Likewise.
* config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
Convert all function definitions to ISO C90 syntax.
* config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
Remove all uses of PARAMS macro.
* config/iq2000.h: Remove all uses of PARAMS macro.
* config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
Ulrich Weigand [Sat, 23 Aug 2003 00:17:35 +0000 (00:17 +0000)]
s390-protos.h (s390_output_pool_entry): Declare.
* config/s390/s390-protos.h (s390_output_pool_entry): Declare.
* config/s390/s390.c (gen_consttable): Remove.
(s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
(s390_output_pool_entry): New function.
* config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
(UNSPECV_POOL_ENTRY): ... this new constant.
("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
"consttable_ti", "consttable_sf", "consttable_df"): Remove ...
("*pool_entry"): ... and replace by this new insn.
("literal_pool_31"): Do not emit anchor label if pool empty.
* config/s390/s390.c (struct machine_function): Add save_return_addr_p.
(s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
(s390_fixup_clobbered_return_reg): Remove.
(s390_reorg): Don't call s390_fixup_clobbered_return_reg.
(s390_return_addr_rtx): Always retrieve return address from save area
slot. Use save_return_addr_p to force slot to be filled.
(s390_emit_prologue): Remove has_hard_reg_initial_val test.
GdkGraphics.java (drawString): Pass font name, not XLFD, to native drawString.
2003-08-22 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GdkGraphics.java (drawString): Pass font
name, not XLFD, to native drawString.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c (drawString):
Replace XLFD-based implementation with Pango-based
implementation.
Mark Mitchell [Fri, 22 Aug 2003 17:58:05 +0000 (17:58 +0000)]
ia64.md (*ptr_extend_plus_1): Rename to ...
* config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
(ptr_extend_plus_imm): ... this.
* config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
optimization in C++.
(ia64_output_mi_thunk): Support ILP32 mode.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
Mark Mitchell [Thu, 21 Aug 2003 17:44:16 +0000 (17:44 +0000)]
re PR c++/11551 (g++ accepts typedef as destructor name)
PR c++/11551
* parser.c (cp_parser_id_expression): Add declarator_p parameter.
(cp_parser_primary_expression): Adjust call to
cp_parser_id_expression.
(cp_parser_unqualified_id): Complain about the use of
typedef-names in a destructor declarator.
(cp_parser_postfix_expression): Adjust call to
cp_parser_id_expression.
(cp_parser_type_parameter): Likewise.
(cp_parser_template_argument): Likewise.
(cp_parser_declarator_id): Likewise.
PR c++/11919
* call.c (standard_conversion): Use same_type_p, not pointer
equality, to compare types.
PR c++/10762
* parser.c (cp_parser_using_declaration): Check for invalid uses
of template-ids here...
* decl2.c (do_class_using_decl): ... rather than here.
* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
* config.gcc (*-*-openbsd): Don't set tm_file.
(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
xscale-*-coff): Use explicit and complete lists of target headers
to include. Move definitions to tm_defines where appropriate.
(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
not-yet-contributed configuration.
* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
* config/i386/nto.h, config/iq2000/iq2000.h,
* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
* config/m68k/linux.h, config/m68k/m68k-aout.h
* config/m68k/m68k-none.h, config/m68k/m68kv4.h
* config/m68k/netbsd.h, config/m68k/openbsd.h
* config/m68k/sgs.h, config/mcore/mcore-pe.h,
* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
Remove includes of other target config headers, and
definitions of macros moved to tm_defines lists. Add #undefs
where now necessary to prevent redefinition warnings.
* config/h8300/coff.h: New file split out of...
* config/h8300/elf.h: ...here.
* config/m68k/hp320base.h: New file split out of...
* config/m68k/hp320.h: ...here.
* config/rs6000/lynxbase.h: New file split out of...
* config/rs6000/lynx.h: ...here.
Jason Merrill [Thu, 21 Aug 2003 03:20:54 +0000 (23:20 -0400)]
semantics.c (simplify_aggr_init_expr): Split out from simplify_aggr_init_exprs_r.
* semantics.c (simplify_aggr_init_expr): Split out from
simplify_aggr_init_exprs_r. Convert slot address to match
the return type.
* cp-tree.h: Declare it.
* tree.c (cp_copy_res_decl_for_inlining): Don't clobber the
DECL_NAME of a user variable.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
PR 8180
* configure.in: When testing with_libs and with_headers, treat
'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
* configure: Regenerate.
Mark Mitchell [Wed, 20 Aug 2003 22:36:08 +0000 (22:36 +0000)]
re PR middle-end/11996 (Compiling libjava ICE's.)
PR java/11996
Revert this change:
2003-08-19 Mark Mitchell <mark@codesourcery.com>
* c-common.c (c_common_signed_or_unsigned_type): Correctly handle
types with precisions other than those given by native machine
modes.
Gunther Nikl [Wed, 20 Aug 2003 22:02:53 +0000 (22:02 +0000)]
m68k.c (m68k_output_function_prologue): use %U in label name
* config/m68k/m68k.c (m68k_output_function_prologue): use %U in
label name
* config/m68k/m68k.c (m68k_output_function_epilogue): replace
HOST_WIDE_INT_PRINT_DEC with %wd
Andrew Haley [Wed, 20 Aug 2003 17:27:56 +0000 (17:27 +0000)]
[multiple changes]
2003-01-31 Andrew Haley <aph@redhat.com>
* except.c (prepare_eh_table_type): Use new encoding for exception
handlers when using -fno-assume-compiled.
2003-08-20 Andrew Haley <aph@redhat.com>
* gnu/gcj/runtime/StackTrace.java (getClass): New method.
* gnu/gcj/runtime/natStackTrace.cc (getClass): New method.
(classAt): Break out class lookup function into getClass().
* exception.cc (PERSONALITY_FUNCTION): Use new encoding for exception
handlers when using -fno-assume-compiled.
Tom Tromey [Wed, 20 Aug 2003 15:30:04 +0000 (15:30 +0000)]
natReference.cc (finalize_referred_to_object): Set `list->reference' to DELETED_REFERENCE when removing dead object.
* java/lang/ref/natReference.cc (finalize_referred_to_object):
Set `list->reference' to DELETED_REFERENCE when removing dead
object.
(find_slot): Added an assert.
(DELETED_REFERENCE): New define.
(add_to_hash): Check for DELETED_REFERENCE.
(remove_from_hash): Just return if found slot isn't ours.
Jason Merrill [Wed, 20 Aug 2003 12:24:18 +0000 (08:24 -0400)]
stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from TYPE_USER_ALIGN for FIELD_DECLs.
* stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
TYPE_USER_ALIGN for FIELD_DECLs.
* attribs.c (decl_attributes): Rebuild the function pointer type after
changing the target type.
* tree.c (get_qualified_type): Also check that the attributes match.
Mark Mitchell [Wed, 20 Aug 2003 07:06:47 +0000 (07:06 +0000)]
re PR c++/11946 (fun and merriment with enums as function arguments)
PR c++/11946
* convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
NOP_EXPR) when necessary.
* c-common.c (c_common_signed_or_unsigned_type): Correctly handle
types with precisions other than those given by native machine
modes.
PR c++/10926
* decl.c (start_method): Return immediately if push_template_decl
does not like the declaration.
* pt.c (push_template_decl_real): Disallow member template
destructors.
PR c++/11036.C
* cp-tree.h (add_binding): Add prototype.
* class.c (add_method): Set TYPE_HAS_DESTRUCTOR if appropriate.
(maybe_warn_about_overly_private_class): Use
CLASSTYPE_DESTRUCTORS.
(pushclass): Adjust call to set_identifier_type_value.
* decl.c (add_binding): Give it external linkage.
(push_local_binding): Adjust call to add_binding.
(push_class_binding): Likewise.
(set_identifier_type_value_with_scope): Change prototype. Use
add_binding for global bindings.
(set_identifier_type_value): Adjust accordingly.
(pushtag): Likewise.
(pushdecl): Use set_identifier_type_value, not
set_identifier_type_value_with_scope.
(pushdecl_namespace_level): Adjust calls to
SET_IDENTIFIER_TYPE_VALUE to pass a DECL.
(pushdecl_class_level): Likewise.
(lookup_tag): Use select_decl.
(select_decl): Improve comment.
(record_builtin_type): Do not call pushdecl.
(cxx_init_decl_processing): Do not call xref_tag for bad_alloc.
(cp_finish_decl): Adjust call to set_identifier_type_value.
(check_elaborated_type_specifier): Improve checks for invalid uses
of typedefs.
(xref_tag): Adjust call to check_elaborated_type_specifier.
* decl2.c (grokclassfn): Do not set TYPE_HAS_DESTRUCTOR.
* name-lookup.c (set_namespace_binding): Use add_binding.
* parser.c (cp_parser_simple_type_specifier): Return a TYPE_DECL,
rather than an IDENTIFIER_NODE, to represent built-in types, if
requested by the caller.
(cp_parser_postfix_expression): Adjust call.
(cp_parser_type_specifier): Likewise.
(cp_parser_elaborated_type_specifier): Adjust call to
check_elaborated_type_specifier.
* typeck2.c (build_functional_cast): Do not perform name lookups.
Geoffrey Keating [Wed, 20 Aug 2003 02:58:58 +0000 (02:58 +0000)]
darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only options.
* config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
options.
* config/i386/darwin.h (ASM_SPEC): New.
(SUBTARGET_EXTRA_SPECS): New.
* config/rs6000/darwin.h (ASM_SPEC): New.
(SUBTARGET_EXTRA_SPECS): New.
* configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
a cross-compiler between two different processors on Darwin.
* configure: Regenerate.