Per Bothner [Tue, 4 Dec 2001 01:10:08 +0000 (17:10 -0800)]
decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
* decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR
instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
* jcf-write.c (generate_bytecode_insns): Remove support for
CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
* check-init.c (check_init): Likewise.
Janis Johnson [Tue, 4 Dec 2001 00:52:43 +0000 (00:52 +0000)]
builtin-prefetch-1.c: New test.
* gcc.c-torture/execute/builtin-prefetch-1.c: New test.
* gcc.c-torture/execute/builtin-prefetch-2.c: New test.
* gcc.c-torture/execute/builtin-prefetch-3.c: New test.
* gcc.c-torture/execute/builtin-prefetch-4.c: New test.
* gcc.c-torture/execute/builtin-prefetch-5.c: New test.
* gcc.dg/builtin-prefetch-1.c: New test.
Janis Johnson [Tue, 4 Dec 2001 00:40:21 +0000 (00:40 +0000)]
i386.md (prefetch): Rename as prefetch_sse to avoid conflicts with new generic prefetch functionality.
* config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
conflicts with new generic prefetch functionality.
* config/i386/i386.c (ix86_expand_builtin): Use new name for
prefetch_sse.
* config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
conflicts with new generic prefetch functionality.
* config/i386/i386.c (ix86_expand_builtin): Use new name for
prefetch_sse.
Ziemowit Laski [Tue, 4 Dec 2001 00:25:20 +0000 (00:25 +0000)]
Make-lang.in: Update copyright.
* objc/Make-lang.in: Update copyright.
(OBJC_OBJS): Add objc-lang.o.
(objc-lang.o): New rule.
* objc/config-lang.in: Fix file description and update
copyright.
* objc/objc-act.c: Do not include langhooks.h and
langhooks-def.h
(lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
(objc_post_options): Move to objc-lang.c.
(objc_init_options): Move to objc-lang.c.
(objc_init): Make non-static.
(HASHFUNCTION): Remove macro.
(hash_func): New function.
(hash_enter): Replace HASHFUNCTION with hash_func.
(hash_lookup): Replace HASHFUNCTION with hash_func.
(maybe_objc_tree_codes): New function.
(init_objc): Move ObjC tree code initialization to
maybe_objc_tree_codes().
* objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
(objc_init): New public prototype.
(objc_decode_option): New public prototype.
(maybe_add_objc_tree_codes): New public prototype.
* objc/objc-lang.c: New file.
(lang_hooks): Moved from objc-act.c.
(objc_post_options): Moved from objc-act.c.
(objc_init_options): Moved from objc-act.c.
Per Bothner [Mon, 3 Dec 2001 23:30:21 +0000 (15:30 -0800)]
verify.c (subroutine_nesting): New function.
* verify.c (subroutine_nesting): New function.
(verify_jvm_instructions): Use it to fix logic for checking that
we're done with the current subroutine.
* verify.c (verify_jvm_instruction): For OPCODE_checkcast and
OPCODE_instanceof use POP_TYPE macro for better diagnostics.
Steve Ellcey [Mon, 3 Dec 2001 22:28:57 +0000 (22:28 +0000)]
configure.in: Add support for hpux cross compiles...
2001-12-03 Steve Ellcey <sje@cup.hp.com>
* libstdc++-v3/configure.in: Add support for hpux cross compiles,
combine common linux/hpux/generic cross compile support to reduce
redundent lines.
* libstdc++-v3/configure: Regenerate.
Ed Schonberg [Mon, 3 Dec 2001 19:21:33 +0000 (19:21 +0000)]
sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and push Standard on the stack before analyzing the...
2001-12-03 Ed Schonberg <schonber@gnat.com>
* sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and
push Standard on the stack before analyzing the instance body,
in order to have a clean visibility environment.
Loren J. Rittle [Mon, 3 Dec 2001 19:11:01 +0000 (19:11 +0000)]
howto.html: Update commentary.
* docs/html/ext/howto.html: Update commentary.
* include/bits/c++config: Update threading configuration comment.
(__STL_GTHREADS): Remove macro definition.
(__STL_THREADS): Likewise.
* include/bits/stl_threads.h: Leave only the configuration
path which had been guarded by __STL_GTHREADS. Remove all
guards related to __STL_GTHREADS, __STL_SGI_THREADS,
__STL_PTHREADS, __STL_UITHREADS and __STL_WIN32THREADS.
* include/bits/stl_alloc.h: Leave only the configuration path
which had been guarded by __STL_THREADS. Remove configuration
path and guards for __STL_SGI_THREADS.
(__NODE_ALLOCATOR_THREADS): Remove macro definition. Unroll its use.
(__NODE_ALLOCATOR_LOCK): Likewise.
(__NODE_ALLOCATOR_UNLOCK): Likewise.
(_NOTHREADS): Remove guards related to macro.
* include/ext/stl_rope.h: Remove configuration path and guards
for __STL_SGI_THREADS.
* src/stl-inst.cc: Remove use of __NODE_ALLOCATOR_THREADS.
Ed Schonberg [Mon, 3 Dec 2001 18:56:11 +0000 (18:56 +0000)]
* sem_ch12.adb:
(Analyze_generic_subprogram_Declaration): Set outer_generic_scope,
to prevent freezing within formal packages.
(Freeze_Subprogram_Body): If body comes from another instance that
appeared before its own body, place freeze node at end of current
declarative part, to prevent a back-end crash.
(Inline_Instance_Body): Handle properly a package instance within
a subprogram instance that is a child unit.
Jan Hubicka [Mon, 3 Dec 2001 15:22:47 +0000 (16:22 +0100)]
gcse.c (delete_null_pointer_checks_1): Do not use delelete_list; call purge_dead_edges after removing.
* gcse.c (delete_null_pointer_checks_1): Do not use delelete_list;
call purge_dead_edges after removing.
(delete_null_pointer_checks): Do not handle delete_list.
* cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
(count_basic_blocks): ... here.
(find_basic_blocks, find_bb_boundaries): Cleanup.
* stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
overflow for types greater then 2 * HOST_WIDE_INT.
* reload.c (find_reloads): Update the duplicates after swapingg.
Zack Weinberg [Mon, 3 Dec 2001 00:49:41 +0000 (00:49 +0000)]
rs6000.h (MASK_ALTIVEC_ABI, [...]): Delete.
* config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
MASK_LONG_DOUBLE_128): Delete.
(MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
TARGET_AIX_STRUCT_RET): New flags.
(TARGET_SWITCHES): Remove entries for -mlong-double-128 and
-mlong-double-64. Add entries for -m(no-)aix-struct-return
and -m(no-)svr4-struct-return.
(TARGET_OPTIONS): Add entry for -mlong-double-.
(rs6000_long_double_size_string, rs6000_long_double_type_size,
rs6000_altivec_abi): Declare.
(TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
(RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
structures of size <= 8 bytes in registers.
(PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
* config/rs6000/rs6000.c (rs6000_long_double_size_string,
rs6000_long_double_type_size, rs6000_altivec_abi): New
globals.
(rs6000_override_options): Set rs6000_long_double_type_size
from rs6000_long_double_size_string, if nonzero. Set the
MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
not already set.
(rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
target_flags bit.
(rs6000_init_builtins): This hook now takes no arguments.
* config/rs6000/netbsd.h, config/rs6000/linux.h: Define
DRAFT_V4_STRUCT_RET to 1.
Phil Edwards [Mon, 3 Dec 2001 00:33:57 +0000 (00:33 +0000)]
howto.html: Update list of implemented DRs.
2001-12-02 Phil Edwards <pme@gcc.gnu.org>
* docs/html/ext/howto.html: Update list of implemented DRs.
* docs/html/ext/lwg-active.html: Import R20 from upstream.
* docs/html/ext/lwg-defects.html: Import R20 from upstream.
rtl.h (mem_attrs): Rename decl to expr; adjust all users.
* rtl.h (mem_attrs): Rename decl to expr; adjust all users.
(MEM_EXPR): Rename from MEM_DECL; adjust all users.
* emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
* expr.h, final.c, reload1.c: Adjust users.
* alias.c (nonoverlapping_component_refs_p): New.
(decl_for_component_ref, adjust_offset_for_component_ref): New.
(nonoverlapping_memrefs_p): Use them.
* emit-rtl.c (component_ref_for_mem_expr): New.
(set_mem_attributes): Use it.
(set_mem_offset): New.
* expr.c (expand_assignment): Call set_mem_attributes for
inner references; adjust the memory offset as needed.
* print-rtl.c (print_mem_expr): New.
(print_rtx): Use it.
Douglas B Rupp [Sun, 2 Dec 2001 14:38:07 +0000 (09:38 -0500)]
vms.h (VMS_DEBUGGING_INFO): New macro.
* config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
(PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
(ASM_SPEC): Don't redefine.
(OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
* config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
* config/alpha/vms-dwarf2.asm: New file.
* Makefile.in (OBJS): Add vmsdbgout.c and its rule.
* c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
* debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
(vmsdbgout_after_prologue): New declaration.
* defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
* dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
* dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
(dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
(dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
(add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
* final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
Test VMS_DEBUGGING_INFO.
(final_end_function): Test for VMS_AND_DWARF2_DEBUG.
(final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
* flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
* toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
VMS_AND_DWARF2_DEBUG.
(rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
(decode_g_option): Add "vms" to debug_type_names.
(process_options): Set vmsdbg_debug_hooks if -gvms.
(lang_independent_init): Emit line number for VMS unless -g0.
* tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
* vmsdbg.h, vmsdbgout.c: New files.
* expr.c: call save_expr on array for correct evaluation order,
modified comment, fixed indentation.
* parse.y: (patch_assignment): Correctly extract the array base
from the tree generate by build_java_arrayaccess, added comments.
(patch_array_ref): Remove SAVE_EXPR on ARRAY_REF.
Fixes PR java/3096, PR java/3803, PR java/3965.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
* config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
rather than simplify_subreg. Check for volatile-ness. Check that
we're not splitting one slow operation into two slow operations.
In gcc/testsuite/:
* gcc.c-torture/compile/structs.c: New testcase from GDB.
rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex LO_SUM addresses less than word size are not legitimate...
* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
LO_SUM addresses less than word size are not legitimate,
because they lead to invalid SUBREGs.
* config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
* misc.c: Include optabs.h
(gnat_tree_code_type): Make static and const.
(gnat_tree_code_length): Likewise.
(gnat_tree_code_name): Likewise.
(update_setjmp_buf): Obtain operands mode from insn_data.
Daniel Berlin [Sat, 1 Dec 2001 01:59:02 +0000 (01:59 +0000)]
rs6000.c (altivec_expand_builtin): add ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf...
2001-11-30 Daniel Berlin <dan@cgsoftware.com>
* config/rs6000/rs6000.c (altivec_expand_builtin): add
ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
*_16qi,_8hi, rename existing V4SI ones to *_4si.
(altivec_init_builtins): Ditto.
(bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
* config/rs6000/rs6000.md: Add attribute types vecsimple,
veccomplex, vecfloat, and vecperm, for altivec instructions.
Modify altivec patterns to use approriate attribute type.
Modify altivec patterns to match RTL operations where approriate
(IE no unspec where we can avoid it).
Add vector unit scheduling for ppc7450.
Rename patterns to what they are where approriate
(altivec_vaddfp->addv4sf3, etc)
* config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
* config/rs6000/sysv4.h: Add -mcpu=7450.
* testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
_builtin_altivec_ld_interal function.
Zack Weinberg [Fri, 30 Nov 2001 04:43:05 +0000 (04:43 +0000)]
Purge cruft now we have build libiberty.
* Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
USE_HOST_STRSTR): Delete variables.
(vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
$(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
(LIBIBERTY, BUILD_LIBIBERTY): New variables.
(LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
(LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
(HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
(HOST_LIBS): Ditto.
(HOST_RTL): Remove hashtab.o safe-ctype.o.
(OBJS): Remove splay-tree.o.
(gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
(distclean): No need to delete splay-tree.c obstack.c
hashtab.c safe-ctype.c.
(mostlyclean): Delete build copies of print-rtl.c bitmap.c
errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
* aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
Delete.
* configure.in: Don't use them.
Set and substitute @FORBUILD@.
* config.in, configure: Regenerate.
* doprint.c: Move to libiberty/_doprnt.c.
* doc/configterms.texi: Document that libiberty is now built
up to three times. Fix typo.
* f/Make-lang.in (f/fini, f/intdoc): Depend on $(HOST_LIBDEPS)
and link with $(HOST_LIBS), not safe-ctype.o.
Bryce McKinlay [Fri, 30 Nov 2001 03:04:01 +0000 (03:04 +0000)]
Makefile.am (nat_headers, [...]): Depend on .class files, not libgcj.jar.
* Makefile.am (nat_headers, x_nat_headers): Depend on .class files, not
libgcj.jar.
(nat_files, x_nat_files): Build native files in subdirectories using
the same dependency options as the java files.
(gnu/gcj/runtime/FirstThread.h): Remove explicit rule and friend
declarations.
* configure.in: Put dependencies for .cc files in deps.mak.
* Makefile.in: Rebuilt.
* configure: Rebuilt.
Jason Merrill [Fri, 30 Nov 2001 02:38:43 +0000 (21:38 -0500)]
dwarf2out.c (add_data_member_location_attribute): Do the right thing for virtual bases.
* dwarf2out.c (add_data_member_location_attribute): Do the
right thing for virtual bases.
* dbxout.c (dbxout_type): For a virtual base, print the offset
within the vtable.
Kaveh R. Ghazi [Fri, 30 Nov 2001 01:55:24 +0000 (01:55 +0000)]
genattrtab.c (attr_rtx_1): New function containing the majority of `attr_rtx'.
* genattrtab.c (attr_rtx_1): New function containing the
majority of `attr_rtx'. Move variable declarations into the
scope where they are used. Eliminate unnecessary gotos.
(attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
VA_FIXEDARG, and VA_CLOSE.