Mark Elbrecht [Wed, 24 Mar 1999 23:35:34 +0000 (23:35 +0000)]
system.h (STDIN_FILENO): Provide default definition if one is not provided by the system header files.
* system.h (STDIN_FILENO): Provide default definition if one is not
provided by the system header files.
(STDOUT_FILENO, STDERR_FILENO): Likewise.
* i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro.
* collect2.c (main): Use it.
(pexecute_pid): New variable. Holds return value from call to pexecute.
(collect2_execute): Rework to use pexecute instead of fork.
(collect2_wait): Use pwait() instead of wait().
Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r25960
Mark Mitchell [Wed, 24 Mar 1999 01:10:13 +0000 (01:10 +0000)]
cp-tree.h (lang_type): Remove has_assignment and has_real_assignment.
* cp-tree.h (lang_type): Remove has_assignment and
has_real_assignment. Add befriending_classes.
(TYPE_HAS_ASSIGNMENT): Remove.
(TYPE_HAS_REAL_ASSIGNMENT): Likewise.
(CLASSTYPE_BEFRIENDING_CLASSES): New macro.
(lang_decl): Document.
(DECL_BEFRIENDING_CLASSES): New macro.
(FRIEND_NAME): Move declaration to more obvious location.
(FRIEND_DECLS): Likewise.
* class.c (finish_struct_1): Don't use TYPE_HAS_REAL_ASSIGNMENT.
* decl.c (duplicate_decls): Copy DECL_BEFRIENDING_CLASSES.
(fixup_anonymous_union): Don't use TYPE_HAS_ASSIGNMENT.
(grok_op_properties): Likewise.
* friend.c (is_friend): Use FRIEND_NAME and FRIEND_DECLS.
(add_friend): Likewise. Don't do weird things with assignment
operators. Update DECL_BEFRIENDING_CLASSES.
(add_friends): Don't do weird things with assignment operators.
(make_friend_class): Likewise. Update
CLASSTYPE_BEFRIENDING_CLASSES.
* pt.c (instantiate_class_template): Don't set
TYPE_HAS_ASSIGNMENT.
(tsubst_copy): Substitute the TREE_TYPE for more unary
expressions.
* ptree.c (print_lang_type): Don't look at TYPE_HAS_ASSIGNMENT.
* search.c (protected_accessible_p): New function.
(friend_accessible_p): Likewise.
(accessible_p): Use them.
Jeffrey A Law [Wed, 24 Mar 1999 00:30:32 +0000 (00:30 +0000)]
pa.md (rotlsi3): New expander.
* pa.md (rotlsi3): New expander. Synthesize a variable rotate
left using a variable rotate right. Provide anonymous pattern for
rotate left by a constant value.
Mike Stump [Tue, 23 Mar 1999 21:49:39 +0000 (21:49 +0000)]
vxarm.h: Split out vxWorks support into separate headerfile and vxify.
* arm/vxarm.h: Split out vxWorks support into separate headerfile
and vxify.
* arm/arm.c (cpu_defaults): Allow arm710 as default.
* configure.in: Split out vxWorks support for Arm.
* configure: Rebuilt.
parse.y (find_applicable_accessible_methods_list): When dealing with interface...
Tue Mar 23 10:48:24 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): When dealing
with interface: ensure that a given interface or java.lang.Object
are searched only once.
Mark Mitchell [Tue, 23 Mar 1999 07:51:12 +0000 (07:51 +0000)]
function.c: Include hash.h.
* function.c: Include hash.h.
(insns_for_mem_entry): New struct.
(put_reg_into_stack): Take an optional hash-table mapping MEMs to
the INSNs that use them.
(fixup_var_refs): Likewise.
(put_addressof_into_stack): Likewise.
(purge_addressof_1): Likewise. Keep the hash-table up to date if
we add new instructions.
(fixup_var_refs_insns): Use it to avoid searching the entire
instruction chain.
(insns_for_mem_newfunc): New function.
(insns_for_mem_comp): Likewise.
(insns_for_mem_walk): Likewise.
(compute_insns_for_mem): Likewise.
(pop_function_context_from): Pass NULL for the hash-table.
(put_var_into_stack): Likewise.
(gen_mem_addressof): Likewise.
(flush_addressof): Likewise.
(purge_addressof): Call compute_insns_for_mem to pre-compute the
hash table.
* Makefile.in (OBJS): Include hash.o.
(function.o): Depend on hash.h.
* Makefile.in (OBJS): Don't mention hash.o.
(OBJDEPS): Likewise.
Jason Merrill [Tue, 23 Mar 1999 02:33:34 +0000 (02:33 +0000)]
decl2.c (finish_file): Set at_eof to 2 after expanding ctors.
* decl2.c (finish_file): Set at_eof to 2 after expanding ctors.
* decl.c (expand_static_init): Make sure we don't add any after
then.
* decl.c (cp_finish_decl): Move intelligence about handling
DECL_COMDAT for variables from here...
* decl2.c (comdat_linkage): ...to here.
(maybe_make_one_only): Tweak.
(import_export_decl): Call comdat_linkage for variables, too.
(finish_file): Handle template statics properly.
Mark Mitchell [Tue, 23 Mar 1999 00:01:48 +0000 (00:01 +0000)]
cp-tree.h (TYPE_PTRMEMFUNC_P): Use TYPE_PTRMEMFUNC_FLAG.
* cp-tree.h (TYPE_PTRMEMFUNC_P): Use TYPE_PTRMEMFUNC_FLAG.
Document internals of pointer-to-member-functions.
(DELTA2_FROM_PTRMEMFUNC): Make it call delta2_from_ptrmemfunc.
(PFN_FROM_PTRMEMFUNC): Similarly.
(build_type_conversion): Remove unused parameter.
(build_ptrmemfunc1): Declare.
(expand_ptrmemfunc_cst): New function.
(delta2_from_ptrmemfunc): Likewise.
(pfn_from_ptrmemfunc): Likewise.
* cvt.c (cp_convert_to_pointer): Remove unused parameter to
build_type_conversion. Use TYPE_PTRMEM_P for readability.
(convert_to_reference): Remove unused parameter to
build_type_conversion.
(ocp_convert): Likewise.
(build_user_type_conversion): Likewise.
* error.c (dump_expr): Handle NULL pointer-to-member functions.
* expr.c (cplus_expand_expr): Handle PTRMEM_CSTs for functions.
* method.c (build_overload_value): Don't go splitting CONSTRUCTORs
open when handling pointer-to-member functions.
* pt.c (convert_nontype_argument): Clean up error messages. Be
more stringent with pointers-to-members.
* typeck.c (build_ptrmemfunc1): Don't declare. Make it global.
(build_unary_op): Tidy ever-so-slightly.
(build_conditional_expr): Remove extra parameter to
build_type_conversion.
(build_ptrmemfunc): Build PTRMEM_CSTs if we know what function
we're using.
(expand_ptrmemfunc_cst): Define.
(delta2_from_ptrmemfunc): Likewise.
(pfn_from_ptrmemfunc): Likewise.
Jeff Law [Mon, 22 Mar 1999 23:45:01 +0000 (16:45 -0700)]
openbsd.h (TARGET_DEFAULT): Define.
* i386/openbsd.h (TARGET_DEFAULT): Define.
* configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD
configurations.
* configure: Rebuilt.
* i386/freebsd.h (TARGET_DEFAULT): Define instead
of TARGET_CPU_DEFAULT.
* i386/netbsd.h (TARGET_DEFAULT): Likewise.
Jeff Law [Mon, 22 Mar 1999 22:47:07 +0000 (15:47 -0700)]
i386.h (PREFERRED_STACK_BOUNDARY): Define.
* i386.h (PREFERRED_STACK_BOUNDARY): Define.
* i386.c (ix86_compute_frame_size): New function.
(ix86_prologue, ix86_epilogue): Use it.
* i386.h (INITIAL_ELIMINATION_OFFSET): Likewise.
* reload1.c: Provide default for PREFERRED_STACK_BOUNDARY.
J"orn Rennecke [Mon, 22 Mar 1999 14:27:23 +0000 (14:27 +0000)]
reload1.c (reload_as_needed): Set reload_is_output_reload / reload_has_output_reload for auto_inc expressions...
* reload1.c (reload_as_needed): Set reload_is_output_reload /
reload_has_output_reload for auto_inc expressions that could be
reloaded. Call forget_old_reloads for REG_INC notes.
Vladimir Makarov [Mon, 22 Mar 1999 07:56:09 +0000 (07:56 +0000)]
h8300.md (adjust_length): New attribute.
Mon Mar 22 10:44:33 1999 Vladimir Makarov <vmakarov@tofu.to.cygnus.com>
* config/h8300/h8300.md (adjust_length): New attribute.
(modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn
default value of attribute "adjust_length" onto "no".
* config/h8300/h8300.c (h8300_adjust_insn_length): Use 0 if the
shift is negative.
* final.c (shorten_branches): Check insn length after its
adjusting.
Jeffrey A Law [Sun, 21 Mar 1999 20:49:10 +0000 (20:49 +0000)]
gcse.c (dump_hash_table): Fix whitespace in declaration.
* gcse.c (dump_hash_table): Fix whitespace in declaration.
(compute_transpout): Renamed from pre_compute_transpout.
(compute_pre_*): Deleted
(pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP. All
callers changed.
(insert_insn_end_bb): Renamed from pre_insert_insn.
(pre_*): Delete unused variables. Only leave local properties and
global redundant/optimal computation points.
(alloc_pre_mem, free_pre_mem): Corresponding changes.
(compute_pre_data): Simplify and call pre_lcm to run the lazy
code motion dataflow analysis.
(pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
based redundant and optimal computation points.
Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be linked with.
gcc/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
linked with.
gcc/f/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (g77$(exeext)): Depend on intl.o. Link in intl.o.
gcc/java/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Make-lang.in ($(GCJ)$(exeext)): Add intl.o to list of files to be
linked with.
gcc/po/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Track latest file renamings.
1999-03-01 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Remove files which do not exist anymore in egcs.
Fix names of those files which are now living in egcs's
libiberty/include directories.
Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be linked with.
�
gcc/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
linked with.
gcc/f/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Makefile.in (g77$(exeext)): Depend on intl.o. Link in intl.o.
gcc/java/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* Make-lang.in ($(GCJ)$(exeext)): Add intl.o to list of files to be
linked with.
gcc/po/ChangeLog:
1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Track latest file renamings.
1999-03-01 Manfred Hollstein <manfred@s-direktnet.de>
* POTFILES.in: Remove files which do not exist anymore in egcs.
Fix names of those files which are now living in egcs's
libiberty/include directories.
parse.y (find_applicable_accessible_methods_list): Extend the search to superinterfaces when relevant.
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Extend the
search to superinterfaces when relevant.
(search_applicable_methods_list): New function.
(Previous check didn't have the right path in the `#line' directives.)
parse.y (find_applicable_accessible_methods_list): Extend the search to superinterfaces when relevant.
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Extend the
search to superinterfaces when relevant.
(search_applicable_methods_list): New function.
(parse.c wasn't part of the last check-in.)
1999-03-19 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (find_applicable_accessible_methods_list): Extend the
search to superinterfaces when relevant.
(search_applicable_methods_list): New function.
1999-03-18 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (unmangle_classname): Implemented stricter testing
before setting the QUALIFIED_P flag on an identifier.
Kaveh R. Ghazi [Fri, 19 Mar 1999 12:43:55 +0000 (12:43 +0000)]
Warning fixes:
* cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
* cppfiles.c (read_and_prescan): Likewise.
Start a #define in column 0.
* cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
(cpp_push_buffer): Likewise for cpp_buffer*.
(do_include): Change the type of `fbeg' and `fend' to unsigned char*.
(do_endif): Cast to char* when assigning to one.
(do_assert): Likewise.
(do_unassert): Likewise.
(cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
Don't do unnecessary cast to char* anymore.
* genrecog.c (make_insn_sequence): Cast to char** when assigning
to one. Cast the first argument of bzero to PTR.
* loop.c (strength_reduce): Remove unused variable `note'.
* reload1.c (new_insn_chain): Cast to struct insn_chain* when
assigning to one.
* rtl.c (copy_rtx): Use memcpy instead of bcopy.
Jason Merrill [Fri, 19 Mar 1999 01:21:05 +0000 (20:21 -0500)]
friend.c (make_friend_class): Avoid core dump when not-yet-defined friend type lacks TYPE_LANG_SPECIFIC().
* friend.c (make_friend_class): Avoid core dump when
not-yet-defined friend type lacks TYPE_LANG_SPECIFIC().
* decl.c (start_function): Suppress normal linkage heuristics
for #pragma interface under MULTIPLE_SYMBOL_SPACES.
* toplev.c (read_integral_parameter): Constify. Better control of
error messages.
(main): Use read_integral_parameter to set optimize, id_clash_len,
larger_than_size, and the debugging level.
* toplev.h (read_integral_parameter): Update prototype.
Zack Weinberg [Fri, 19 Mar 1999 00:47:41 +0000 (00:47 +0000)]
system.h: Use putc_unlocked...
* system.h: Use putc_unlocked, fputc_unlocked, and
fputs_unlocked only if putc_unlocked has a prototype already.
Prototype fputs_unlocked if necessary.
* configure.in: Check for prototypes of putc_unlocked and
fputs_unlocked.
* acconfig.h: Updated.
* config.in, configure: Rebuilt.