platform/upstream/gcc.git
25 years agojump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all insns we're going...
Bernd Schmidt [Wed, 7 Oct 1998 09:50:05 +0000 (03:50 -0600)]
jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all insns we're going to copy.

* jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
insns we're going to copy.
* regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.

From-SVN: r22887

25 years ago* loop.c (count_one_set): Add prototype.
Bernd Schmidt [Wed, 7 Oct 1998 09:47:54 +0000 (03:47 -0600)]
* loop.c (count_one_set): Add prototype.

From-SVN: r22886

25 years agoreload1.c (reload): Call free before clobbering the memory locations or constants...
Manfred Hollstein [Wed, 7 Oct 1998 09:45:58 +0000 (09:45 +0000)]
reload1.c (reload): Call free before clobbering the memory locations or constants pointers.


* reload1.c (reload): Call free before clobbering the memory
locations or constants pointers.

From-SVN: r22885

25 years ago* class.c (finish_struct_1): Add commentary on prevous change.
Mark Mitchell [Wed, 7 Oct 1998 09:30:50 +0000 (09:30 +0000)]
* class.c (finish_struct_1): Add commentary on prevous change.

From-SVN: r22884

25 years agoWarning fixes:
Kaveh R. Ghazi [Wed, 7 Oct 1998 09:29:29 +0000 (09:29 +0000)]
Warning fixes:

        * Makefile.in (hash.h): Add -L KR-C -F ', 0, 0, 0' flags to gperf.
        (hash.h): Regenerate using gperf 2.7.1 (19981006 egcs).

From-SVN: r22883

25 years agoWarning fixes:
Kaveh R. Ghazi [Wed, 7 Oct 1998 09:18:39 +0000 (09:18 +0000)]
Warning fixes:

        * Makefile.in (keyword.h): Add -L KR-C -F ', 0' flags to gperf.
        (keyword.h): Regenerate using gperf 2.7.1 (19981006 egcs).

From-SVN: r22882

25 years agosarray.h: Make boffset be an unsigned long when sparc so it works out on 64-bit systems.
David S. Miller [Wed, 7 Oct 1998 02:21:54 +0000 (02:21 +0000)]
sarray.h: Make boffset be an unsigned long when sparc so it works out on 64-bit systems.

* objc/sarray.h: Make boffset be an unsigned long when sparc so it
works out on 64-bit systems.

From-SVN: r22881

25 years agosol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework for efficiency by checking whether...
David S. Miller [Wed, 7 Oct 1998 02:17:57 +0000 (02:17 +0000)]
sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework for efficiency by checking whether we need to modify the current stack...

* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
for efficiency by checking whether we need to modify the current
stack permission at all.
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
__enable_execute_stack libcall here too if
TRANSFER_FROM_TRAMPOLINE is defined.
* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
IN_LIBGCC2.

From-SVN: r22880

25 years agocp-tree.h (vtbl_ptr_type_node): New variable.
Mark Mitchell [Wed, 7 Oct 1998 02:08:55 +0000 (02:08 +0000)]
cp-tree.h (vtbl_ptr_type_node): New variable.

* cp-tree.h (vtbl_ptr_type_node): New variable.
* class.c (build_vtbl_ref): Don't indirect through the vptr; it's
already of the right type.
(finish_struct_1): Make the vptr be of type vtbl_ptr_type_node.
Simplify code to grow vtable.
* decl.c (vtbl_ptr_type_node): Define.
(init_decl_processing): Initialize it.

From-SVN: r22879

25 years agoMakefile.in (DRIVER_DEFINES): Remove last change.
Jeffrey A Law [Wed, 7 Oct 1998 01:29:42 +0000 (01:29 +0000)]
Makefile.in (DRIVER_DEFINES): Remove last change.

        * Makefile.in (DRIVER_DEFINES): Remove last change.
Depends on other changes not in the tree yet.

From-SVN: r22878

25 years agoDaily bump.
Jeff Law [Wed, 7 Oct 1998 00:45:03 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r22877

25 years agocaller-save.c (restore_referenced_regs): Lose mode argument.
Bernd Schmidt [Wed, 7 Oct 1998 00:13:49 +0000 (18:13 -0600)]
caller-save.c (restore_referenced_regs): Lose mode argument.

* caller-save.c (restore_referenced_regs): Lose mode argument.
(insert_save): Lose mode argument.
(insert_restore): Lose mode argument.
(insert_one_insn): Lose mode argument.
(save_call_clobbered_regs): Lose mode argument.
(setup_save_areas): Take no argument and return void.  All callers
changed.
Don't verify validity of memory addresses.
* reload.h (setup_save_ares): Adjust prototype.
(save_call_clobbered_regs): Likewise.
* reload1.c (delete_caller_save_insns): New function.
(caller_save_spill_class): Delete variable.
(caller_save_group_size): Delete variable.
(reload): Call setup_save_areas and save_call_clobbered_regs
in the main loop, before calling calculate_needs_all_insns.
Don't call save_call_clobbered_regs after the loop.
Call delete_caller_save_insns at the end of an iteration if
something changed.
Delete code to manage caller_save_spill_class.
Emit the final note before setting reload_first_uid.
Simplify test that determines whether reload_as_needed gets run.
(calculate_needs): Delete code to manage caller_save_spill_class.

From-SVN: r22876

25 years agoloop.c (count_one_set): New static function, broken out of count_loop_regs_set
Bernd Schmidt [Tue, 6 Oct 1998 20:38:40 +0000 (14:38 -0600)]
loop.c (count_one_set): New static function, broken out of count_loop_regs_set

* loop.c (count_one_set): New static function, broken out of
count_loop_regs_set
(count_loop_regs_set): Call it.
* global.c (mark_reg_store): Handle clobbers here by not calling
set_preference.
(mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
is in fact a clobber.
* integrate.c (process_reg_param): New function, broken out of
expand_inline_function.
(expand_inline_function): Call it.

From-SVN: r22875

25 years ago* Makefile.in: Revert last patch.
Jeffrey A Law [Tue, 6 Oct 1998 20:18:21 +0000 (20:18 +0000)]
* Makefile.in: Revert last patch.

From-SVN: r22874

25 years agoi386.md (addsidi3_1): Delete unused variable temp.
Bernd Schmidt [Tue, 6 Oct 1998 19:41:52 +0000 (13:41 -0600)]
i386.md (addsidi3_1): Delete unused variable temp.

        * i386.md (addsidi3_1): Delete unused variable temp.
        (addsidi3_2): Likewise.
        (clstrstrsi): Delete unused variable addr1.

From-SVN: r22873

25 years ago* rtl.h: Don't declare any functions also declared in recog.h.
Bernd Schmidt [Tue, 6 Oct 1998 19:39:34 +0000 (13:39 -0600)]
* rtl.h: Don't declare any functions also declared in recog.h.

From-SVN: r22872

25 years ago* Makefile.in (INCLUDES): Make it multilib-friendly
Alexandre Oliva [Tue, 6 Oct 1998 19:33:27 +0000 (19:33 +0000)]
* Makefile.in (INCLUDES): Make it multilib-friendly

From-SVN: r22871

25 years ago* collect2.c (main): Initialize ld_file_name.
Richard Henderson [Tue, 6 Oct 1998 15:43:24 +0000 (08:43 -0700)]
* collect2.c (main): Initialize ld_file_name.

From-SVN: r22870

25 years agocp-tree.def (PTRMEM_CST): New tree node.
Mark Mitchell [Tue, 6 Oct 1998 14:20:30 +0000 (14:20 +0000)]
cp-tree.def (PTRMEM_CST): New tree node.

* cp-tree.def (PTRMEM_CST): New tree node.
* cp-tree.h (ptrmem_cst): New type.
(lang_type): Remove local_typedecls.
(dummy): Increase to 12 bits from 11.
(CLASSTYPE_LOCAL_TYPEDECLS): Remove.
(PTRMEM_CST_CLASS): New macro.
(PTRMEM_CST_MEMBER): Likewise.
(current_access_specifier): New variable.
(current_class_type): Remove duplicate declaration.
(finish_struct): Change prototype.
(unreverse_member_declarations): New function.
(pushdecl_class_level): Change prototype.
(grok_enum_decls): Remove.
(fixup_anonymous_union): New function.
(grok_x_components): Change prototype.
(tsubst_chain): Remove.
(finish_member_template_decl): Likewise.
(check_explicit_specialization): Fix indentation.
(finish_class_definition): Change prototype.
(finish_member_class_template): Likewise.
(finish_member_declaration): New function.
(check_multiple_declarators): Likewise.
* class.c (class_stack_node_t): New type.
(current_class_base): Remove.
(current_class_stack): Change type.
(current_access_specifier): New variable.
(grow_method): Remove.
(check_member_decl_is_same_in_complete_scope): Break out from
finish_struct.
(make_method_vec): New function.
(free_method_vec): Likewise.
(add_implicitly_declared_members): Break out from finish_struct_1.
(free_method_vecs): New variable.
(add_method): Rework for direct use from parser.
(handle_using_decl): Watch for NULL_TREE while iterating through
CLASSTYPE_METHOD_VEC.
(finish_struct_methods): Don't build CLASSTYPE_METHOD_VEC here;
just do some error-checking.
(warn_hidden): Change iteration through CLASSTYPE_METHOD_VEC.
(finish_struct_1): Simplify.  Use add_implicitly_declared_members.
(finish_struct): Change prototype.  Simplify; fields and methods
are already set up at this point.
(init_class_processing): Set up current_class_stack.
(pushclass): Save current_access_specifier.
(popclass): Restore it.
(currently_open_class): Simplify.
(build_self_reference): Remove use of CLASSTYPE_LOCAL_TYPEDECLS.
* decl.c (saved_scope): Add access_specifier.
(maybe_push_to_top_level): Save it.
(pop_from_top_level): Restore it.
(maybe_process_template_type_declaration): Use
finish_member_declaration.
(pushtag): Likewise.
(pushdecl_class_level): Don't return a value.
(fixup_anonymous_union): Break out from grok_x_components.
(shadow_tag): Use it.
(xref_tag): Complain about using an elaborated type specifier to
reference a template type parameter or typedef name.
(xref_basetypes): Don't set CLASSTYPE_LOCAL_TYPEDECLS.
(current_local_enum): Remove.
(build_enumerator): Call finish_member_declaration.
(grok_enum_decls): Remove.
* decl2.c (grok_x_components): Simplify.
(check_classfn): Change iteration through CLASSTYPE_METHOD_VEC.
(grokfield): Don't set CLASSTYPE_LOCAL_TYPEDECLS.
(merge_functions): Add to comment.
(arg_assoc_type): Prototype.
(arg_assoc): Pass as many arguments as there are parameters.
* error.c (dump_expr): Handle PTRMEM_CST.  Improve handling of
OFFSET_REF.
* expr.c (cpls_expand_expr): Remove dead code.  Handle
PTRMEM_CST.
* friend.c (do_friend): Lookup friends when in nested classes.
Change comments.
* init.c (build_offset_ref): Do lookup even for classes that are
only partially defined.
(decl_constant_value): Remove dead code.
* method.c (build_overload_value): Remove hack where by TYPE was
not a TYPE.  Handle PTRMEM_CST.
(build_template_parm_names): Don't pass a PARM_DECL where a TYPE
should go.
* parse.y (components, notype_components, component_decl,
component_decl_1, component_declarator, component_declarator0):
Now all are itype rather than ttype.  Rework to add members to
classes on the fly.
(typesqpecqual_reserved): Use check_multiple_declarators.
(structsp): Update class to finish_class_definition.
(do_xref_defn): Unsplit into named_class_head.
(access_specifier): Set current_access_specifier.
* pt.c (set_current_access_from_decl): New function.
(finish_member_template_decl): Don't take the parameters.
(comp_template_args): Make more robust.
(lookup_template_class): Don't use current_local_enum.
(for_each_template_parm): Handle PTRMEM_CST.
(instantiate_class_template): Use set_current_access_from_decl,
finish_member_declaration and unreverse_member_declarations.  Set
lineno/input_filename before generating implicit member functions.
(type_unification_real): Don't assume back-unification happens
only for the last argument.
(regenerate_decl_from_template): Call pushclass a bit earlier.
(tsubst_chain): Remove.
(tsubst_enum): Use set_current_access_from_decl.
(set_mangled_name_for_template_decl): Fix indentation.
* search.c (lookup_fnfields_1): Change iteration through
CLASSTYPE_METHOD_VEC.
(dfs_pushdecls): Likewise.
(dfs_compress_decls): Likewise.
(add_conversions): Likewise.
* semantics.c (finish_class_definition): Don't take components.
Change call to finish_struct.
(finish_member_declaration): New function.
(finish_member_class_template): Don't take template parameters.
Change call to grok_x_components.  Call finish_member_template_decl.
(check_multiple_declarators): New function.
* sig.c (append_signature_fields): Work from the TYPE_METHODS, not
a passed in fieldlist.
* tree.c (search_tree): Handle PTRMEM_CST.
(mapcar): Likewise.
* typeck.c (unary_complex_lvalue): Build PTRMEM_CSTs, not
INTEGER_CSTs, for pointer-to-data members.

From-SVN: r22869

25 years agosysv4.h (ASM_OUTPUT_SECTION_NAME): Don't check for flag_function_sections.
Catherine Moore [Tue, 6 Oct 1998 13:47:21 +0000 (13:47 +0000)]
sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't check for flag_function_sections.

        * config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME):  Don't
        check for flag_function_sections.

From-SVN: r22868

25 years agocall.c (resolve_args): Resolve template specializations, if possible.
Mark Mitchell [Tue, 6 Oct 1998 12:38:05 +0000 (12:38 +0000)]
call.c (resolve_args): Resolve template specializations, if possible.

* call.c (resolve_args): Resolve template specializations, if
possible.

From-SVN: r22867

25 years ago* cse.c (insert_regs): Fix bug in Sep 24 change.
J"orn Rennecke [Tue, 6 Oct 1998 12:04:55 +0000 (12:04 +0000)]
* cse.c (insert_regs): Fix bug in Sep 24 change.

From-SVN: r22866

25 years agoCleanup for -fdump-unnumbered:
J"orn Rennecke [Tue, 6 Oct 1998 09:03:38 +0000 (09:03 +0000)]
Cleanup for -fdump-unnumbered:

* flags.h (flag_dump_unnumbered): Declare.
* toplev.c (flag_dump_unnumbered): Don't declare.
* print-rtl.c (flags.h): Include.
(print_rtl_single): Add return value.
* rtl.h (print_rtl_single): Update declaration.
* flow.c (flag_dump_unnumbered): Don't declare.
(print_rtl_with_bb): Use return value of print_rtl_single.

From-SVN: r22865

25 years agoWarning fixes:
Kaveh R. Ghazi [Tue, 6 Oct 1998 05:04:32 +0000 (05:04 +0000)]
Warning fixes:

        * Makefile.in (spew.o): Depend on toplev.h.
        * call.c (compare_ics): Initialize variables `deref_from_type2',
        `deref_to_type1' and `deref_to_type2'.
        * except.c (get_eh_type): Hide prototype and definition.
        (process_start_catch_block_old): Remove unused static prototype.
        * pt.c (tsubst_decl): Initialize variable `argvec'.
        * spew.c: Include toplev.h.

From-SVN: r22864

25 years agoDaily bump.
Jeff Law [Tue, 6 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r22863

25 years agoMakefile.in (stupid.o): Update dependencies.
Bernd Schmidt [Tue, 6 Oct 1998 00:39:23 +0000 (18:39 -0600)]
Makefile.in (stupid.o): Update dependencies.

* Makefile.in (stupid.o): Update dependencies.
(global.o): Likewise.
* global.c: Include reload.h
(reg_becomes_live): New function.
(reg_dies): New function.
(build_insn_chain): New function.
(global_alloc): Call build_insn_chain before calling reload.
* reload.h (struct needs): New structure definition.
(struct insn_chain): Likewise.
(reload_insn_chain): Declare variable.
(new_insn_chain): Declare function.
* reload1.c (reload_startobj): New variable.
(reload_insn_chain): New variable.
(unused_insn_chains): New variable.
(new_insn_chain): New function.
(init_reload): Initialize reload_startobj, not reload_firstobj.
(reload): Initialize reload_firstobj.
Before returning, free everything on the reload_obstack.
* stupid.c: Include insn-config.h, reload.h and basic-block.h.
(reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
current_chain): New variables.
(reg_where_born): Delete variable.
(REG_WHERE_BORN): New macro.
(find_clobbered_regs): New function.
(stupid_life_analysis): Don't allocate/free reg_where_born.
Allocate and free reg_where_born_exact, reg_where_born_clobber,
reg_where_dead_chain.
Use REG_WHERE_BORN instead of reg_where_born.
While processing the insns, build the reload_insn_chain with
information about register lifetimes.
(stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
(stupid_mark_refs): Replace arg INSN with arg CHAIN.  All callers
changed.
Compute and information about birth and death of pseudo registers in
reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
Delete code to set elements of reg_where_born.

From-SVN: r22862

25 years agofriend35.C: New test.
Alexandre Oliva [Tue, 6 Oct 1998 00:24:05 +0000 (00:24 +0000)]
friend35.C: New test.

* g++.old-deja/g++.pt/friend35.C: New test.  A template function
  must be declared before its specializations can be named in friend
  declarations.

From-SVN: r22861

25 years agotree.def (GOTO_EXPR): Modified documentation.
Alexandre Petit-Bianco [Mon, 5 Oct 1998 22:36:18 +0000 (15:36 -0700)]
tree.def (GOTO_EXPR): Modified documentation.

0
* tree.def (GOTO_EXPR): Modified documentation.
* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
  goto.

From-SVN: r22860

25 years agotree.def (GOTO_EXPR): Modified documentation.
Alexandre Petit-Bianco [Mon, 5 Oct 1998 22:36:16 +0000 (15:36 -0700)]
tree.def (GOTO_EXPR): Modified documentation.

8
* tree.def (GOTO_EXPR): Modified documentation.
* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
  goto.

From-SVN: r22859

25 years agopt.c (instantiate_decl): Do save and restore file position.
Jason Merrill [Mon, 5 Oct 1998 22:10:23 +0000 (18:10 -0400)]
pt.c (instantiate_decl): Do save and restore file position.

* pt.c (instantiate_decl): Do save and restore file position.
* method.c (build_decl_overload_real): Clear
numeric_output_need_bar after __.
* call.c (build_new_method_call): Issue 'incomplete type' error,
if class is not defined.

From-SVN: r22856

25 years agounroll.c (loop_iteration_var, [...]): No longer static.
David Edelsohn [Mon, 5 Oct 1998 22:03:25 +0000 (22:03 +0000)]
unroll.c (loop_iteration_var, [...]): No longer static.

        * unroll.c (loop_iteration_var, loop_initial_value, loop_increment
        loop_final_value, loop_comparison_code): No longer static.
        (unroll_loop): Delete loop_start_value update.
        * loop.h (loop_iteration_var, loop_initial_value, loop_increment,
        loop_final_value, loop_comparison_code): Extern.
        (loop_start_value): Delete extern.
        * loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
        loop_comparison_value, loop_comparison_code): Delete.
        (loop_optimize): Remove initialization for deleted variables.
        (strength_reduce): Delete analyze_loop_iterations call.  Only call
        insert_bct if flag_branch_count_on_reg set.
        (analyze_loop_iterations): Delete.
        (insert_bct): Remove iteration count calculation.  Move checks for
        viable BCT optimization to here.  Obtain iteration count from
        loop_iterations and correct for unrolling.  Check for enough
        iteration to be beneficial.  Comment out runtime iteration count
        case.
        (insert_bct): Print iteration count in dump file.  Remove
        loop_var_mode and use word_mode directly.
        * rs6000.h (processor_type): Add PROCESSOR_PPC604e.
        * rs6000.c (rs6000_override_options): Use it.
        (optimization_options): Enable use of flag_branch_on_count_reg.
        * rs6000.md (define_function_unit): Describe 604e.

From-SVN: r22852

25 years agocall.c (build_object_call): Move declaration of variable `fn' into the scope where...
Kaveh Ghazi [Mon, 5 Oct 1998 21:31:14 +0000 (21:31 +0000)]
call.c (build_object_call): Move declaration of variable `fn' into the scope where it is used.

        * call.c (build_object_call): Move declaration of variable
        `fn' into the scope where it is used.  Don't access variable
        `fn' when it is uninitialized, instead use `fns'.

From-SVN: r22850

25 years agocall.c (build_object_call): Move declaration of variable `fn' into the scope where...
Kaveh Ghazi [Mon, 5 Oct 1998 21:13:46 +0000 (21:13 +0000)]
call.c (build_object_call): Move declaration of variable `fn' into the scope where it is used.

        * call.c (build_object_call): Move declaration of variable
        `fn' into the scope where it is used.  Don't access variable
        `fn' when it is uninitialized, instead use `fns'.

From-SVN: r22849

25 years agoloop.c (move_movables): Corrected threshold calculation for moved_once registers.
Herman A.J. ten Brugge [Mon, 5 Oct 1998 20:48:22 +0000 (22:48 +0200)]
loop.c (move_movables): Corrected threshold calculation for moved_once registers.

        * loop.c (move_movables): Corrected threshold calculation for
        moved_once registers.

From-SVN: r22847

25 years ago* loop.c (combine_givs_p): Fix test for identical givs.
Bernd Schmidt [Mon, 5 Oct 1998 20:20:39 +0000 (14:20 -0600)]
* loop.c (combine_givs_p): Fix test for identical givs.

From-SVN: r22845

25 years agou77-test.f: Add regression test for RAND.
Dave Love [Mon, 5 Oct 1998 11:45:31 +0000 (11:45 +0000)]
u77-test.f: Add regression test for RAND.

1998-10-05  Dave Love  <d.love@dl.ac.uk>
* g77.f-torture/execute/u77-test.f: Add regression test for RAND.
* g77.f-torture/execute/io1.f: New test.

From-SVN: r22844

25 years agoAdd regression test for RAND.
Dave Love [Mon, 5 Oct 1998 11:44:43 +0000 (11:44 +0000)]
Add regression test for RAND.

From-SVN: r22843

25 years agoNew test.
Dave Love [Mon, 5 Oct 1998 11:44:03 +0000 (11:44 +0000)]
New test.

From-SVN: r22842

25 years agowarn_summary (subdirectoryFilter): New shell function to optionally filter in/out...
Kaveh R. Ghazi [Mon, 5 Oct 1998 11:27:05 +0000 (11:27 +0000)]
warn_summary (subdirectoryFilter): New shell function to optionally filter in/out gcc subdirectories when...

       * warn_summary (subdirectoryFilter): New shell function to
       optionally filter in/out gcc subdirectories when summarizing
       warnings.  Add new flags to support subdirectory filtering.
       Also, ensure the bootstrap stage is a number.  Add some more C
       keywords that are preserved in the "warning type" summary and
       tighten up the "arg ???" regexp.

From-SVN: r22839

25 years agoIf errorcount nonzero, don't call abort if the function is already defined.
Nick Clifton [Mon, 5 Oct 1998 10:12:39 +0000 (10:12 +0000)]
If errorcount nonzero, don't call abort if the function is already defined.

From-SVN: r22836

25 years agocombine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if truncation is...
Jeff Law [Mon, 5 Oct 1998 09:05:58 +0000 (03:05 -0600)]
combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if truncation is not a no-op.

8
        * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
        truncation is not a no-op.

From-SVN: r22835

25 years agocombine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if truncation is...
Jeff Law [Mon, 5 Oct 1998 09:05:56 +0000 (03:05 -0600)]
combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if truncation is not a no-op.


        * combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
        truncation is not a no-op.

From-SVN: r22834

25 years agoBump for snapshot
Jeffrey A Law [Mon, 5 Oct 1998 09:02:11 +0000 (03:02 -0600)]
Bump for snapshot

From-SVN: r22832

25 years agoBump for snapshot
Jeffrey A Law [Mon, 5 Oct 1998 08:19:58 +0000 (02:19 -0600)]
Bump for snapshot

From-SVN: r22831

25 years agoDaily bump.
Jeff Law [Mon, 5 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r22830

25 years agoMakefile.in (s-libi77): Depend on i77.
H.J. Lu [Mon, 5 Oct 1998 00:17:29 +0000 (00:17 +0000)]
Makefile.in (s-libi77): Depend on i77.

        * Makefile.in (s-libi77): Depend on i77.
        (s-libf77): Depend on i77.
        (s-libu77): Depend on u77.

From-SVN: r22829

25 years agoexpmed.c (expand_divmod): Don't widen for computing remainder if we seem to have...
Torbjorn Granlund [Mon, 5 Oct 1998 00:08:56 +0000 (02:08 +0200)]
expmed.c (expand_divmod): Don't widen for computing remainder if we seem to have a divmod pattern for...

        * expmed.c (expand_divmod): Don't widen for computing remainder
        if we seem to have a divmod pattern for needed mode.

From-SVN: r22828

25 years agocpplib.c (macroexpand): Correct off-by-one error in handling of escapes.
Zack Weinberg [Mon, 5 Oct 1998 00:03:35 +0000 (00:03 +0000)]
cpplib.c (macroexpand): Correct off-by-one error in handling of escapes.

        * cpplib.c (macroexpand): Correct off-by-one error in handling
        of escapes.

From-SVN: r22827

25 years agocombine.c (expand_field_assignment): Don't do bitwise operations on MODE_FLOAT; pun...
Richard Henderson [Sun, 4 Oct 1998 23:59:58 +0000 (16:59 -0700)]
combine.c (expand_field_assignment): Don't do bitwise operations on MODE_FLOAT; pun to MODE_INT if possible.

        * combine.c (expand_field_assignment): Don't do bitwise operations
        on MODE_FLOAT; pun to MODE_INT if possible.

From-SVN: r22826

25 years agoerrfn.c (cp_thing): Print buf as a string not as a printf format to avoid problems...
Theodore Papadopoulo [Sun, 4 Oct 1998 21:12:11 +0000 (23:12 +0200)]
errfn.c (cp_thing): Print buf as a string not as a printf format to avoid problems with the operator%.

* errfn.c (cp_thing): Print buf as a string not as a printf format
to avoid problems with the operator%. Consequently, `%%' sequences
in format are copied as `%' in buf.

From-SVN: r22825

25 years agopt.c (pop_tinst_level): Call extract_interface_info.
Jason Merrill [Sun, 4 Oct 1998 20:10:49 +0000 (20:10 +0000)]
pt.c (pop_tinst_level): Call extract_interface_info.

* pt.c (pop_tinst_level): Call extract_interface_info.
(instantiate_decl): Don't save and restore file position.
* decl.c (cp_finish_decl): Make statics in extern inlines and
templates common, if possible and the target doesn't support weak
symbols.

From-SVN: r22824

25 years agotlink.c (scan_linker_output): Recognize errors from irix 6.2 linker.
Jason Merrill [Sun, 4 Oct 1998 19:37:42 +0000 (19:37 +0000)]
tlink.c (scan_linker_output): Recognize errors from irix 6.2 linker.

* tlink.c (scan_linker_output): Recognize errors from irix 6.2
linker.  Recognize mangled names in quotes.

Co-Authored-By: Scott Snyder <snyder@fnal.gov>
From-SVN: r22823

25 years agoCorrect typo in robertl's most recent entry.
Robert Lipe [Sun, 4 Oct 1998 18:01:59 +0000 (18:01 +0000)]
Correct typo in robertl's most recent entry.

From-SVN: r22822

25 years agoupdate
Jason Merrill [Sun, 4 Oct 1998 16:21:01 +0000 (12:21 -0400)]
update

From-SVN: r22821

25 years agodecl.c (grokdeclarator): Remove redundant calls to build_type_variant and some duplic...
Jason Merrill [Sun, 4 Oct 1998 16:20:59 +0000 (16:20 +0000)]
decl.c (grokdeclarator): Remove redundant calls to build_type_variant and some duplicated code.

* decl.c (grokdeclarator): Remove redundant calls to
build_type_variant and some duplicated code.
* sig.c (build_signature_reference_type): Only take the type parm.
(build_signature_pointer_type): Likewise.
* tree.c (build_cplus_method_type): Adjust.
* cp-tree.h: Update.

From-SVN: r22820

25 years agomark XFAIL where appropriate
Alexandre Oliva [Sun, 4 Oct 1998 15:44:37 +0000 (15:44 +0000)]
mark XFAIL where appropriate

From-SVN: r22819

25 years agooverload5.C: New test...
Alexandre Oliva [Sun, 4 Oct 1998 15:31:58 +0000 (15:31 +0000)]
overload5.C: New test...

* g++.old-deja/g++.pt/overload5.C: New test; initialize variable
  with pointer to template function, for which no argument deduction
  is possible
* g++.old-deja/g++.pt/overload4.C: New test; passing pointer to
specialization of template function as argument to template
function
* g++.old-deja/g++.other/access2.C: New test; Inner class
shouldn't have privileged access to Outer's names

From-SVN: r22818

25 years agocall.c (build_over_call): Make pedwarns about dropped qualifiers into full-fledged...
Mark Mitchell [Sun, 4 Oct 1998 11:36:26 +0000 (11:36 +0000)]
call.c (build_over_call): Make pedwarns about dropped qualifiers into full-fledged errors.

* call.c (build_over_call): Make pedwarns about dropped qualifiers
into full-fledged errors.
* cvt.c (convert_to_reference): Likewise.
* typeck.c (convert_for_assignment): Likewise.

From-SVN: r22809

25 years agosearch.c (expand_upcast_vtables): In addition to unsetting TREE_READONLY, remove...
Mark Mitchell [Sun, 4 Oct 1998 11:17:08 +0000 (11:17 +0000)]
search.c (expand_upcast_vtables): In addition to unsetting TREE_READONLY, remove top-level const type qualifier.

* search.c (expand_upcast_vtables): In addition to unsetting
TREE_READONLY, remove top-level const type qualifier.

From-SVN: r22808

25 years agosparc.md (ashldi3+1): Name it ashldi3_sp64.
Jakub Jelinek [Sun, 4 Oct 1998 04:05:38 +0000 (06:05 +0200)]
sparc.md (ashldi3+1): Name it ashldi3_sp64.

        * config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
(ashlsi3_const1, ashldi3_const1): New combiner patterns.
(ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
(lshrsi3_extend, lshrsi3_extend2): Ditto.

From-SVN: r22805

25 years agofunction.c (purge_addressof_1): If trying to take a sub-word integral piece of a...
David S. Miller [Sun, 4 Oct 1998 01:29:21 +0000 (01:29 +0000)]
function.c (purge_addressof_1): If trying to take a sub-word integral piece of a floating point mode...

* function.c (purge_addressof_1): If trying to take a sub-word
integral piece of a floating point mode, put it on the stack.

From-SVN: r22804

25 years agoDaily bump.
Jeff Law [Sun, 4 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r22803

25 years agoclass.c (current_class_ptr, [...]): Clarify documentation.
Mark Mitchell [Sat, 3 Oct 1998 23:11:19 +0000 (23:11 +0000)]
class.c (current_class_ptr, [...]): Clarify documentation.

* class.c (current_class_ptr, current_class_ref): Clarify
documentation.
* cvt.c (ocp_convert): Don't expect fold to remove all trivial
NOP type conversions.
* decl.c (decls_match): Use comptypes directly; ignore
qualifiers on the DECL.
(duplicate_decls): Remove qualifier checks on DECL.
(grokdeclarator): Make the type built up include top-level
qualifiers.
* decl2.c (do_dtors): Fix spelling error.
* error.c (dump_simple_decl): Don't look at qualifiers on the decl
when printing type information.
* init.c (build_new_1): Add documentation.  Deal with the fact
that type of allocated memory now contains qualifiers.
* lex.c (is_global): Improve error-recovery.
* sig.c (build_member_function_pointer): Don't cast away const
on fields of sigtable_entry_type.
* tree.c (lvalue_type): Don't look at top-level qualifiers on
expressions.
* typeck.c (decay_conversion): Likewise.
(build_component_ref): Make sure the type of the COMPONENT_REF
contains top-level qualifiers, as appropriate.  Improve
error-handling.
(build_indirect_ref): Simplify.  Don't strip top-level qualifiers.
(build_array_ref): Likewise.
(build_unary_op): Improve error-recovery.
(unary_complex_lvalue): Make taking the address a bound member
function an error, not a sorry.
(build_conditional_expr): Look at the type qualifiers, not the
qualifiers on the expression itself.

From-SVN: r22802

25 years agonew
Jason Merrill [Sat, 3 Oct 1998 22:59:10 +0000 (18:59 -0400)]
new

From-SVN: r22801

25 years agodecl2.c (merge_functions): Remove duplicates.
Jason Merrill [Sat, 3 Oct 1998 22:53:37 +0000 (22:53 +0000)]
decl2.c (merge_functions): Remove duplicates.

* decl2.c (merge_functions): Remove duplicates.
* decl2.c: Add -f{no-,}implicit-inline-templates.
(lang_decode_option): Unset it if -frepo.
(import_export_decl): Check it.
* decl.c (lookup_name_real): Template parms also take precedence
over implicit typename.  Only warn if yylex.

From-SVN: r22800

25 years ago* alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
Richard Henderson [Sat, 3 Oct 1998 19:02:05 +0000 (12:02 -0700)]
* alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.

From-SVN: r22796

25 years agoupdate
Jason Merrill [Sat, 3 Oct 1998 16:49:31 +0000 (12:49 -0400)]
update

From-SVN: r22795

25 years agotypeck.c (build_conditional_expr): Only fold if ifexp is an INTEGER_CST.
Jason Merrill [Sat, 3 Oct 1998 15:56:25 +0000 (15:56 +0000)]
typeck.c (build_conditional_expr): Only fold if ifexp is an INTEGER_CST.

* typeck.c (build_conditional_expr): Only fold if ifexp is an
INTEGER_CST.

From-SVN: r22794

25 years agodecl2.c (finish_vtable_vardecl): Check DECL_INTERFACE_KNOWN instead of linkage.
Jason Merrill [Sat, 3 Oct 1998 15:46:48 +0000 (15:46 +0000)]
decl2.c (finish_vtable_vardecl): Check DECL_INTERFACE_KNOWN instead of linkage.

* decl2.c (finish_vtable_vardecl): Check DECL_INTERFACE_KNOWN
instead of linkage.

From-SVN: r22793

25 years agoPROJECTS: Remove template friends.
Jason Merrill [Sat, 3 Oct 1998 14:47:54 +0000 (14:47 +0000)]
PROJECTS: Remove template friends.

* PROJECTS: Remove template friends.
* collect2.c (sort_ids): Remove unused variable.
* tm.texi (MATH_LIBRARY): Document.
(NEED_MATH_LIBRARY): Remove.

From-SVN: r22792

25 years agovarasm.c (assemble_start_function, [...]): Do ASM_GLOBALIZE_LABEL for weak symbols...
Jason Merrill [Sat, 3 Oct 1998 14:43:47 +0000 (14:43 +0000)]
varasm.c (assemble_start_function, [...]): Do ASM_GLOBALIZE_LABEL for weak symbols, too.

* varasm.c (assemble_start_function, assemble_variable, weak_finish,
assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.

From-SVN: r22791

25 years agodwarf2out.c (expand_builtin_dwarf_reg_size): Initialize last_end to 0x7fffffff.
John Carr [Sat, 3 Oct 1998 13:21:10 +0000 (13:21 +0000)]
dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize last_end to 0x7fffffff.

From-SVN: r22790

25 years agomark as crash failure
Alexandre Oliva [Sat, 3 Oct 1998 10:55:59 +0000 (10:55 +0000)]
mark as crash failure

From-SVN: r22773

25 years agofriend34.C: New test...
Alexandre Oliva [Sat, 3 Oct 1998 02:51:23 +0000 (02:51 +0000)]
friend34.C: New test...

* g++.old-deja/g++.pt/friend34.C: New test; name injection of
friend template declared within template class conflicts with
nested class of the same name
* g++.old-deja/g++.other/badopt1.C: New test; post-increment
  is ignored
* g++.old-deja/g++.other/decl1.C: New test; incorrect parsing of
object with direct initializer as function declaration
* g++.old-deja/g++.other/decl2.C: New test; duplicate initializers
* g++.old-deja/g++.other/null2.C: New test; conditional operator
  involving const pointer and NULL produces incorrect result
* g++.old-deja/g++.other/typename1.C: New test; template-dependent
  type name without `typename' should be rejected with -pedantic

From-SVN: r22770

25 years agoDaily bump.
Jeff Law [Sat, 3 Oct 1998 00:45:01 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r22769

25 years ago* g++.old-deja/g++.other/addrof1.C: New test.
Richard Henderson [Fri, 2 Oct 1998 21:56:53 +0000 (14:56 -0700)]
* g++.old-deja/g++.other/addrof1.C: New test.

From-SVN: r22768

25 years agoupdate
Jason Merrill [Fri, 2 Oct 1998 21:11:34 +0000 (17:11 -0400)]
update

From-SVN: r22767

25 years agofunction.c (purge_addressof_1): Do not perform endianness corrections on bitpos,...
David S. Miller [Fri, 2 Oct 1998 20:17:50 +0000 (20:17 +0000)]
function.c (purge_addressof_1): Do not perform endianness corrections on bitpos, who we call will do it for us.

* function.c (purge_addressof_1): Do not perform endianness
corrections on bitpos, who we call will do it for us.

From-SVN: r22766

25 years agoh8300.c (WORD_REG_USED): Fix typo.
Jeffrey A Law [Fri, 2 Oct 1998 10:54:45 +0000 (10:54 +0000)]
h8300.c (WORD_REG_USED): Fix typo.

        * h8300.c (WORD_REG_USED): Fix typo.
        (initial_offset): Use WORD_REG_USED.
        * h8300.c (handle_pragma): Fix typo.

From-SVN: r22755

25 years agocaller-save.c (insert_save_restore): Break this function up into new functions insert...
Jeff Law [Fri, 2 Oct 1998 10:25:57 +0000 (04:25 -0600)]
caller-save.c (insert_save_restore): Break this function up into new functions insert_restore...


* caller-save.c (insert_save_restore): Break this function up
into new functions insert_restore, insert_save and insert_one_insn.
All callers changed.
(insert_restore): New function, mostly broken out of
insert_save_restore.
(insert_save): Likewise.
(insert_one_insn): Likewise.
(restore_referenced_regs): New argument BLOCK.  All callers changed.
(save_call_clobbered_regs): Don't keep track of basic block boundaries
in this function, do it in insert_one_insn instead.

From-SVN: r22754

25 years agocaller-save.c (insert_save_restore): Break this function up into new functions insert...
Jeff Law [Fri, 2 Oct 1998 10:25:55 +0000 (04:25 -0600)]
caller-save.c (insert_save_restore): Break this function up into new functions insert_restore...

0
* caller-save.c (insert_save_restore): Break this function up
into new functions insert_restore, insert_save and insert_one_insn.
All callers changed.
(insert_restore): New function, mostly broken out of
insert_save_restore.
(insert_save): Likewise.
(insert_one_insn): Likewise.
(restore_referenced_regs): New argument BLOCK.  All callers changed.
(save_call_clobbered_regs): Don't keep track of basic block boundaries
in this function, do it in insert_one_insn instead.

From-SVN: r22753

25 years agoreload1.c (reload): Break out some more pieces into separate functions.
Bernd Schmidt [Fri, 2 Oct 1998 10:23:37 +0000 (04:23 -0600)]
reload1.c (reload): Break out some more pieces into separate functions.

* reload1.c (reload): Break out some more pieces into separate
functions.
(dump_needs): New function, broken out of reload.
(set_initial_elim_offsets): Likewise.
(init_elim_table): Likewise.
(update_eliminables): Likewise.

From-SVN: r22752

25 years agoglobal.c (global_alloc): Delete code to manage the scratch_list.
Bernd Schmidt [Fri, 2 Oct 1998 10:21:20 +0000 (04:21 -0600)]
global.c (global_alloc): Delete code to manage the scratch_list.

* global.c (global_alloc): Delete code to manage the scratch_list.
* local-alloc.c (qty_scratch_rtx): Delete.
(scratch_block): Delete.
(scratch_list): Delete.
(scratch_list_length): Delete.
(scratch_index): Delete.
(alloc_qty_for_scratch): Delete.
(local-alloc): Update initialization of max_qty.
Delete code to manage the scratch list.
Delete code to allocate/initialize qty_scratch_rtx.
(block_alloc): Don't allocate quantities for scratches.
Delete code to manage the scratch list.
* regs.h (scratch_list): Delete declaration.
(scratch_block): Delete declaration.
(scratch_list_length): Delete declaration.
* reload1.c (reload): Delete code to manage the scratch list.
(spill_hard_reg): Likewise.
(mark_scratch_live): Delete.

From-SVN: r22751

25 years ago* Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc.
H.J. Lu [Fri, 2 Oct 1998 10:18:19 +0000 (10:18 +0000)]
* Makefile.in (INCLUDES): Add -I$(srcdir)/../gcc.

From-SVN: r22750

25 years ago* recog.c (alter_subreg): Delete declaration.
Bernd Schmidt [Fri, 2 Oct 1998 09:53:03 +0000 (03:53 -0600)]
* recog.c (alter_subreg): Delete declaration.

From-SVN: r22749

25 years ago* Makefile.in (cccp.o): Fix typo in last patch.
Andreas Jaeger [Fri, 2 Oct 1998 09:50:24 +0000 (09:50 +0000)]
* Makefile.in (cccp.o): Fix typo in last patch.

From-SVN: r22748

25 years agoREADME: Remove installation instructions and refer to the INSTALL directory instead.
Gerald Pfeifer [Fri, 2 Oct 1998 09:22:08 +0000 (11:22 +0200)]
README: Remove installation instructions and refer to the INSTALL directory instead.

* README: Remove installation instructions and refer to the
INSTALL directory instead.

From-SVN: r22747

25 years agot-sh (LIB1ASMFUNCS): Add _set_fpscr .
J"orn Rennecke [Fri, 2 Oct 1998 08:22:31 +0000 (08:22 +0000)]
t-sh (LIB1ASMFUNCS): Add _set_fpscr .

* t-sh (LIB1ASMFUNCS): Add _set_fpscr .
* config/sh/lib1funcs.asm (___set_fpscr): Add.

From-SVN: r22746

25 years agocom.c (ffecom_expr_intrinsic_): Fix return type for RAND.
Dave Love [Fri, 2 Oct 1998 07:55:06 +0000 (07:55 +0000)]
com.c (ffecom_expr_intrinsic_): Fix return type for RAND.

1998-10-02  Dave Love  <d.love@dl.ac.uk>
* com.c (ffecom_expr_intrinsic_): Fix return type for RAND.

From-SVN: r22745

25 years ago(ffecom_expr_intrinsic_): Fix return type for RAND.
Dave Love [Fri, 2 Oct 1998 07:54:36 +0000 (07:54 +0000)]
(ffecom_expr_intrinsic_): Fix return type for RAND.

From-SVN: r22744

25 years agoregclass.c (reg_scan_mark_refs): Return immediately if passed a NULL_RTX as an argument.
Jeff Law [Fri, 2 Oct 1998 01:34:34 +0000 (19:34 -0600)]
regclass.c (reg_scan_mark_refs): Return immediately if passed a NULL_RTX as an argument.

8
        * regclass.c (reg_scan_mark_refs): Return immediately if passed a
        NULL_RTX as an argument.

From-SVN: r22741

25 years agoregclass.c (reg_scan_mark_refs): Return immediately if passed a NULL_RTX as an argument.
Jeff Law [Fri, 2 Oct 1998 01:34:33 +0000 (19:34 -0600)]
regclass.c (reg_scan_mark_refs): Return immediately if passed a NULL_RTX as an argument.

(
        * regclass.c (reg_scan_mark_refs): Return immediately if passed a
        NULL_RTX as an argument.

From-SVN: r22740

25 years ago* gcc.c-torture/compile/981001-4.c: New test.
Jeffrey A Law [Fri, 2 Oct 1998 01:21:18 +0000 (01:21 +0000)]
* gcc.c-torture/compile/981001-4.c: New test.

From-SVN: r22739

25 years agoMakefile.in (unlibsubdir): Define.
Jeffrey A Law [Fri, 2 Oct 1998 01:05:51 +0000 (01:05 +0000)]
Makefile.in (unlibsubdir): Define.

        * Makefile.in (unlibsubdir): Define.
        (DRIVER_DEFINES): Use unlibsubdir.
        (cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
        (stmp-fixinc): Similarly.
The infamous unlibsubdir patch.  Makes it somewhat easier to move toolchains
around.  Helps cygwin folks.

From-SVN: r22737

25 years agoDaily bump.
Jeff Law [Fri, 2 Oct 1998 00:45:02 +0000 (18:45 -0600)]
Daily bump.

From-SVN: r22736

25 years agoMakefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
Robert Lipe [Thu, 1 Oct 1998 21:35:22 +0000 (21:35 +0000)]
Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.

        * Makefile.in (INCLUDES): Reference gcc via $MULTIBUILDTOP.
        (FLAGS_TO_PASS): Added.
        (runtime-info.h): Reference cc1ibj via $MULTIBUILDTOP.
        * archive.c: Change config.h to tconfig.h.
        * configure.in: Find gcc's object directory even for multilibs.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r22725

25 years agoregmove.c (regmove_optimize): Add variable old_max_uid.
Bernd Schmidt [Thu, 1 Oct 1998 19:00:52 +0000 (13:00 -0600)]
regmove.c (regmove_optimize): Add variable old_max_uid.

        * regmove.c (regmove_optimize): Add variable old_max_uid.
        At the end of the function, update basic_block_end.

From-SVN: r22724

25 years ago981001-2.c: New test.
Jeffrey A Law [Thu, 1 Oct 1998 18:06:54 +0000 (18:06 +0000)]
981001-2.c: New test.

        * gcc.c-torture/compile/981001-2.c: New test.
        * gcc.c-torture/compile/981001-3.c: New test.

From-SVN: r22723

25 years agodwarf2out.c (expand_builtin_dwarf_reg_size): Use FIRST_PSEUDO_REGISTER as upper bound...
David S. Miller [Thu, 1 Oct 1998 18:02:50 +0000 (18:02 +0000)]
dwarf2out.c (expand_builtin_dwarf_reg_size): Use FIRST_PSEUDO_REGISTER as upper bound for last_end, not an arbitrary constant.

* dwarf2out.c (expand_builtin_dwarf_reg_size): Use
FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
arbitrary constant.

From-SVN: r22722

25 years agoImport some interworking support code from devo.
Nick Clifton [Thu, 1 Oct 1998 17:58:46 +0000 (17:58 +0000)]
Import some interworking support code from devo.

From-SVN: r22721