Zack Weinberg [Sun, 27 Feb 2000 00:10:15 +0000 (00:10 +0000)]
Makefile.in (STMP_FIXINC): New toggle.
* Makefile.in (STMP_FIXINC): New toggle.
(LIBGCC2_DEPS): Delete all references.
(stmp-headers): Delete target. All references either deleted
or changed to stmp-int-headers.
(all.cross): Don't depend on stmp-headers or STMP_FIXPROTO.
(LIBCPP_OBJS): Take out cppalloc.o.
(cppalloc.o): Delete target.
(stmp-int-hdrs): Depend on $(STMP_FIXINC).
(gen-protos, fix-header): Link with libiberty.a.
* build-make: Don't change FIXINCLUDES. Override STMP_FIXINC
to empty.
* cp/Make-lang.in: Delete refs to LIBGCC2_DEPS.
* configure.in: Remove refs to strerror.
* acconfig.h: Take out NEED_DECLARATION_STRERROR.
* system.h: Take out strerror stanza.
* cpperror.c (my_strerror): Delete function.
(cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror.
* cppmain.c (main): Call xmalloc_set_program_name first thing.
* cppalloc.c: Delete file.
* gen-protos.c: Don't provide xrealloc.
* fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use
xstrerror throughout.
Geoff Keating [Sat, 26 Feb 2000 20:03:11 +0000 (20:03 +0000)]
elfos.h (ASM_OUTPUT_LABELREF): Don't define.
* config/elfos.h (ASM_OUTPUT_LABELREF): Don't define. The default
is right for most ELF targets.
* config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
Let the default file use %U properly.
* config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define. Use the
default.
* config/fp-bit.c (pack_d): Properly handle rounding of denormal
numbers.
Anthony Green [Sat, 26 Feb 2000 05:12:27 +0000 (05:12 +0000)]
expr.c (build_class_init): Mark the decl to be ignored by check_init.
2000-02-25 Anthony Green <green@cygnus.com>
* expr.c (build_class_init): Mark the decl to be ignored by
check_init.
* java-tree.h (DECL_BIT_INDEX): Move definition from check-init.c
* check-init.c: Move DECL_BIT_INDEX to java-tree.h
* class.c (init_test_hash_newfunc): New function.
(decl_hash): New function.
(decl_compare): New function.
* decl.c (emit_init_test_initialization): New function.
(complete_start_java_method): Traverse the init test hashtable,
calling emit_init_test_initialization.
(always_initialize_class_p): Define.
* expr.c (build_class_init): Use initialization tests when
emitting class initialization code.
(always_initialize_class_p): Declare.
* jcf-parse.c (parse_class_file): Set always_initialize_class_p to
1.
* java-tree.h: Include hash.h.
(DECL_FUNCTION_INIT_TEST_TABLE): Define.
(struct lang_decl): Add init_test_table field.
(init_test_hash_entry): Define.
Anthony Green [Sat, 26 Feb 2000 02:54:36 +0000 (02:54 +0000)]
toplev.c (rest_of_compilation): Rebuild jump labels if combine_instructions has created a new direct jump.
* toplev.c (rest_of_compilation): Rebuild jump labels if
combine_instructions has created a new direct jump.
* combine.c (try_combine): Add new_direct_jump_p argument. Set it
when appropriate.
(combine_instructions): Call try_combine with new argument.
Return non-null value when new direct jump instruction is created.
* rtl.h: combine_instructions returns an int.
parse.y (resolve_expression_name): Use `orig' as a second argument to resolve_field_access.
Fri Feb 25 18:00:37 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (resolve_expression_name): Use `orig' as a second
argument to resolve_field_access.
(resolve_field_access): Removed unecessary code when dealing with
static fields.
J"orn Rennecke [Fri, 25 Feb 2000 20:12:02 +0000 (20:12 +0000)]
sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by UNITS_PER_WORD.
* sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by
UNITS_PER_WORD. Change caller initial_elimination_offset.
(rounded_frame_size): Take into account that argument pushed has
changed. Fix TARGET_ALIGN_DOUBLE problem.
Hans Boehm [Fri, 25 Feb 2000 19:13:44 +0000 (19:13 +0000)]
ffi.c, [...]: New files.
2000-02-25 Hans Boehm <boehm@acm.org>
* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
files.
* src/raw_api.c (ffi_translate_args): Fixed typo in argument
list.
(ffi_prep_raw_closure): Use ffi_translate_args, not
ffi_closure_translate.
* src/java_raw_api.c: New file.
* src/ffitest.c (closure_test_fn): New function.
(main): Define `rint' as long long on IA64. Added new test when
FFI_CLOSURES is defined.
* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
(ffi_abi): Recognize IA64.
(ffi_raw): Added `flt' field.
Added "Java raw API" code.
* configure.in: Recognize ia64.
* Makefile.am (TARGET_SRC_IA64): New macro.
(libffi_la_common_SOURCES): Added java_raw_api.c.
(libffi_la_SOURCES): Define in IA64 case.
Geoff Keating [Fri, 25 Feb 2000 18:17:40 +0000 (18:17 +0000)]
haifa-sched.c (schedule_block): Explain the real reason we delete REG_SAVE_NOTEs on the first insn of a block.
* haifa-sched.c (schedule_block): Explain the real reason
we delete REG_SAVE_NOTEs on the first insn of a block.
Don't delete REG_SAVE_NOTES for NOTE_INSN_SETJMP.
Mark Mitchell [Fri, 25 Feb 2000 01:36:03 +0000 (01:36 +0000)]
lex.c (check_newline): Use push_srcloc and pop_srcloc, rather than duplicating functionality here.
* lex.c (check_newline): Use push_srcloc and pop_srcloc, rather
than duplicating functionality here.
* optimize.c: Include input.h.
(expand_call_inline): Use push_srcloc and pop_srcloc.
* parse.y (maybe_cv_qualifier): Remove calls to emit_line_note.
* parse.c: Regenerated.
* Makefile.in (lex.o): Depend on input.h.
(optimize.o): Likewise.
J"orn Rennecke [Thu, 24 Feb 2000 22:14:14 +0000 (22:14 +0000)]
Fix bug exposed by reload.c no longer rounding the frame size to BIGGEST_ALIGNMENT:
Fix bug exposed by reload.c no longer rounding the frame
size to BIGGEST_ALIGNMENT:
* sh.c (rounded_frame_size): New function.
(sh_expand_prologue, sh_expand_epilogue): Use it.
(initial_elimination_offset): Likewise.
Nathan Sidwell [Thu, 24 Feb 2000 10:07:32 +0000 (10:07 +0000)]
machmode.h (get_mode_alignment): Declare.
* machmode.h (get_mode_alignment): Declare.
(GET_MODE_ALIGNMENT): Call it.
* stor-layout.c (get_mode_alignment): New function. Make
sure alignment is always power of 2.
Zack Weinberg [Thu, 24 Feb 2000 04:04:06 +0000 (04:04 +0000)]
tree.h (TREE_SET_PERMANENT): New macro.
* tree.h (TREE_SET_PERMANENT): New macro. Document conditions
under which TREE_PERMANENT will be set.
* tree.c (make_node, copy_node, make_tree_vec, tree_cons,
build1): Use TREE_SET_PERMANENT.
* print-tree.c (print_node): Don't report value of
TREE_PERMANENT if ggc_p is true.
* c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to
decide whether to give a type a new alias set.
* objc/objc-act.c (build_objc_string_object): Never copy the string.
* tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective
of value of 'obstack'.
J"orn Rennecke [Wed, 23 Feb 2000 17:18:15 +0000 (17:18 +0000)]
final.c (shorten_branches): Make value passed to LABEL_ALIGN conform to documentation.
* final.c (shorten_branches): Make value passed to LABEL_ALIGN
conform to documentation.
* sh.h (LABEL_ALIGN): If aligning loops, call sh_label_align
to check for special cases.
* sh-protos.h (sh_label_align): Declare.
* sh.c (sh_label_align): Define.
Zack Weinberg [Wed, 23 Feb 2000 08:43:44 +0000 (08:43 +0000)]
Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS.
* libobjc/Makefile.in: Add -DIN_TARGET_LIBS to ALL_CFLAGS.
* gcc/config/i386/i386.h: If IN_TARGET_LIBS is defined, make
BIGGEST_FIELD_ALIGNMENT a constant.