arm.c (add_constant): When taking the address of an item in the pool, get the mode of the item addressed.
* arm.c (add_constant): When taking the address of an item in the
pool, get the mode of the item addressed.
* arm.c (final_prescan_insn case INSN): If an insn doesn't
contain a SET or a PARALLEL, don't consider it for conditional
execution.
Restore ABI compatibility for NetBSD.
* arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in arm.h
(RETURN_IN_MEMORY): Likewise.
Kaveh R. Ghazi [Mon, 2 Nov 1998 07:24:47 +0000 (07:24 +0000)]
pexecute.c: Check HAVE_CONFIG_H, not IN_GCC, when determining whether to include config.h.
* pexecute.c: Check HAVE_CONFIG_H, not IN_GCC, when determining
whether to include config.h. Possibly include unistd.h in the
!IN_GCC case. Define VFORK_STRING as a printable function call
for error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
defined, include vfork.h. If VMS is defined, define vfork()
appropriately. Remove vfork check on USG, we're using autoconf.
(pexecute): Set `errmsg_fmt' to VFORK_STRING instead of checking
locally what string to use.
Kaveh R. Ghazi [Mon, 2 Nov 1998 07:20:48 +0000 (07:20 +0000)]
configure.in: Call AC_FUNC_VFORK.
* configure.in: Call AC_FUNC_VFORK.
* collect2.c: Define VFORK_STRING as a printable string for
error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
defined, include vfork.h. If VMS is defined, define vfork()
appropriately. Remove vfork check on USG, we're using autoconf.
(collect_execute): Pass VFORK_STRING to fatal_perror instead of
checking locally what string to pass.
(scan_prog_file): Likewise.
(scan_libraries): Likewise.
* gcc.c: Remove vfork check on USG, we're using autoconf.
Besides, no calls to vfork/fork occur in this file.
* protoize.c: Likewise.
Alexandre Oliva [Sun, 1 Nov 1998 20:12:31 +0000 (20:12 +0000)]
parse.y (apparent_template_type): new type
* parse.y (apparent_template_type): new type
(named_complex_class_head_sans_basetype): use it
* Makefile.in (CONFLICTS): one new conflict
* parse.c: Regenerated
Alexandre Oliva [Sun, 1 Nov 1998 19:52:23 +0000 (19:52 +0000)]
BUGS: fix the regexp for `more' to find the appropriate node.
* BUGS: fix the regexp for `more' to find the appropriate node.
Reported by Joerg Pietschmann <joerg_pietschmann@zkb.ch>
* BUGS: added link to the WWW FAQ
Mark Mitchell [Sat, 31 Oct 1998 20:44:46 +0000 (13:44 -0700)]
c-common.c (c_get_alias_set): Allow all type-punning through unions.
�
* c-common.c (c_get_alias_set): Allow all type-punning through
unions. Don't get confused about the type of a bit-field, despite
the antics of build_modify_expr.
Mark Mitchell [Sat, 31 Oct 1998 20:44:44 +0000 (13:44 -0700)]
c-common.c (c_get_alias_set): Allow all type-punning through unions.
�
* c-common.c (c_get_alias_set): Allow all type-punning through
unions. Don't get confused about the type of a bit-field, despite
the antics of build_modify_expr.
Jeff Law [Sat, 31 Oct 1998 19:44:19 +0000 (12:44 -0700)]
toplev.c (rest_of_compilation): No longer set reload_completed.
�
* toplev.c (rest_of_compilation): No longer set reload_completed.
* reload1.c (reload): Set it here. Perform instruction splitting
after reload has completed if we will be running the scheduler
again.
Jeff Law [Sat, 31 Oct 1998 19:44:17 +0000 (12:44 -0700)]
toplev.c (rest_of_compilation): No longer set reload_completed.
�
* toplev.c (rest_of_compilation): No longer set reload_completed.
* reload1.c (reload): Set it here. Perform instruction splitting
after reload has completed if we will be running the scheduler
again.
Jeff Law [Sat, 31 Oct 1998 19:44:15 +0000 (12:44 -0700)]
toplev.c (rest_of_compilation): No longer set reload_completed.
H
* toplev.c (rest_of_compilation): No longer set reload_completed.
* reload1.c (reload): Set it here. Perform instruction splitting
after reload has completed if we will be running the scheduler
again.
Jeffrey A Law [Sat, 31 Oct 1998 11:32:02 +0000 (11:32 +0000)]
jump.c (jump_optimize): Initialize mappings from INSN_UID to EH region if...
* jump.c (jump_optimize): Initialize mappings from INSN_UID to
EH region if exceptions are enabled and we're performing cross
jump optimizations.
(find_cross_jump): Exit loop if the insns are in different EH regions.
Kaveh R. Ghazi [Sat, 31 Oct 1998 08:30:53 +0000 (08:30 +0000)]
warn_summary (longLineFilter): New shell function to encapsulate this functionality.
* warn_summary (longLineFilter): New shell function to encapsulate
this functionality. It is off by default, only active if -llf
flag is specified.
(subdirectoryFilter): Fix bug in filtering which made some
subdirectory warnings erroneously appear in the toplevel set.
(stageNfilter): Renamed from `stageNwarns'. Updated to collect
warnings from stage1 as well as stage0, which means warnings from
outside the bootstrap directory. Eg, the libraries, etc.
(warningFilter): New shell function to encapsulate this
functionality.
(keywordFilter): New shell function to encapsulate this
functionality.
Store data in a temp file rather than calculating it 3x. Arrange
to remove it on exit and signals.
Add -pass/-wpass flags to do "pass through" (i.e. manual
inspection) of bootstrap output from a particular stageN as well
as language subdirs.
Add better comments/documentation.
Mark Mitchell [Fri, 30 Oct 1998 11:17:50 +0000 (11:17 +0000)]
decl2.c (delete_sanity): Pass integer_zero_node, not integer_two_node, to build_vec_delete.
* decl2.c (delete_sanity): Pass integer_zero_node, not
integer_two_node, to build_vec_delete.
* init.c (build_array_eh_cleanup): Remove.
(expand_vec_init_try_block): New function.
(expand_vec_init_catch_clause): Likewise.
(build_vec_delete_1): Don't deal with case that auto_delete_vec
might be integer_two_node anymore.
(expand_vec_init): Rework for initialization-correctness and
exception-correctness.
* typeck2.c (process_init_constructor): Make mutual exclusivity
of cases more obvious.
Tom Tromey [Fri, 30 Oct 1998 00:35:32 +0000 (00:35 +0000)]
class.c (make_class_data): Renamed fields: nmethods to method_count, method_count to dtable_method_count.
* class.c (make_class_data): Renamed fields: nmethods to
method_count, method_count to dtable_method_count. Always set
`state' field to 0.
* decl.c (init_decl_processing): Likewise.
Bernd Schmidt [Thu, 29 Oct 1998 23:18:51 +0000 (23:18 +0000)]
flow.c (XNMALLOC): New macro.
* flow.c (XNMALLOC): New macro.
(flow_int_list_blocks, basic_block_succ, basic_block_pred): New
static variables.
(add_edge, add_edge_to_label): New static functions.
(free_bb_memory): New function.
(flow_delete_insn): Delete function.
(basic_block_drops_in): Delete variable.
(find_basic_blocks): Allocate and initialize basic_block_head,
basic_block_succ. Don't allocate basic_block_drops_in.
Call free_bb_memory at the beginning.
(find_basic_blocks_1): Don't do multiple passes.
Delete code to compute basic_block_drops_in.
After calling make_edges, mark blocks reached by current block live.
Update test for unreachable live blocks.
(mark_label_ref): Delete args X, CHECKDUP. Add PRED arg. All callers
changed.
Simplify to call add_edge_to_label when a LABEL_REF is found.
(make_edges): Simplify to call add_edge_to_label instead of
mark_label_ref most of the time.
Compute here whether control drops into the next block.
(delete_unreachable_blocks): Return void. All callers changed.
Delete unreachable blocks in reverse order.
After deleting all unreachable blocks, renumber the remaining ones
and update n_basic_blocks.
(delete_block): Speed up deletion a bit.
Don't set basic_block_drops_in for deleted blocks.
(free_basic_block_vars): Don't free basic_block_drops_in.
(life_analysis_1): Update to use new edge representation.
(dump_flow_info): Delete code to print basic block info; call
dump_bb_data instead.
(compute_preds_succs): Delete code to recompute basic_block_drops_in
and uid_block_number.
Simply copy the previously computed cfg.
(dump_bb_data): New arg LIVE_INFO. All callers changed.
Print register lifetime information if LIVE_INFO is nonzero.
* basic-block.h (dump_bb_data): Adjust prototype.
* gcse.c (gcse_main): Update call to dump_bb_data.
* rtl.h (free_bb_memory): Declare.
* toplev.c (rest_of_compilation): Call free_bb_memory.
�
* reload1.c (struct elim_table): Delete MAX_OFFSET member.
(update_eliminable_offsets): Don't compute it.
(set_initial_elim_offsets): Don't initialize it.
Break out some code into set_initial_label_offsets so the rest of
this function can be called from reload_as_needed.
Assume that INITIAL_FRAME_POINTER_OFFSET is defeined when
ELIMINABLE_REGS isn't.
(set_initial_label_offsets): New function, broken out of
set_initial_elim_offsets.
(set_offsets_for_label): New function, broken out of set_label_offsets
and reload_as_needed.
(reload): Call the two new functions.
(reload_as_needed): Call set_initial_elim_offsets instead of
duplicating the code. Likewise for set_offsets_for_label.
H
* reload1.c (struct elim_table): Delete MAX_OFFSET member.
(update_eliminable_offsets): Don't compute it.
(set_initial_elim_offsets): Don't initialize it.
Break out some code into set_initial_label_offsets so the rest of
this function can be called from reload_as_needed.
Assume that INITIAL_FRAME_POINTER_OFFSET is defeined when
ELIMINABLE_REGS isn't.
(set_initial_label_offsets): New function, broken out of
set_initial_elim_offsets.
(set_offsets_for_label): New function, broken out of set_label_offsets
and reload_as_needed.
(reload): Call the two new functions.
(reload_as_needed): Call set_initial_elim_offsets instead of
duplicating the code. Likewise for set_offsets_for_label.
Bernd Schmidt [Thu, 29 Oct 1998 22:58:05 +0000 (22:58 +0000)]
reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
* reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
(emit_reload_insns): Ensure that when we set reg_reloaded_valid for
any hard reg, reg_reloaded_dead contains valid data.
Jason Merrill [Thu, 29 Oct 1998 20:46:55 +0000 (20:46 +0000)]
cp-tree.h (IDENTIFIER_MARKED): New macro.
* cp-tree.h (IDENTIFIER_MARKED): New macro.
* search.c (lookup_conversions): Use breadth_first_search.
(add_conversions): Avoid adding two conversions to the same type.
(breadth_first_search): Work with base binfos, rather
than binfos and base indices.
(get_virtual_destructor): Adjust.
(tree_has_any_destructor_p): Adjust.
(get_matching_virtual): Adjust.
Fixes g++.other/conv4.C
Jim Wilson [Thu, 29 Oct 1998 19:06:48 +0000 (19:06 +0000)]
Fix sched REG_DEAD note handling bug found by post-reload-flow pass.
* sched.c (update_flow_info): Add code to ! found_orig_dest case to
handle deleted no-op moves of hard registers.
* haifa-sched.c (update_flow_info): Likewise.
Zack Weinberg [Thu, 29 Oct 1998 11:55:06 +0000 (11:55 +0000)]
lex.c: Call check_newline from lang_init always.
1998-10-28 Zack Weinberg <zack@rabi.phys.columbia.edu>
* cp/lex.c: Call check_newline from lang_init always. After
calling cpp_start_read, set yy_cur and yy_lim to read from the
cpplib token buffer.
Zack Weinberg [Thu, 29 Oct 1998 11:54:13 +0000 (11:54 +0000)]
[multiple changes]
1998-10-28 16:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
* c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
(lang_init): Call check_newline always.
* c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
cpp_start_read, set yy_cur and yy_lim to read from
parse_in.token_buffer, so that we'll see the first #line
directive.
* cpplib.c (cpp_start_read): finclude the main input file
before processing -include/-imacros. Process -imacros and
-include separately, and handle -include by stacking a
buffer for the file in question as if it'd been #included.
* toplev.c (documented_lang_options) Recognize -H when
USE_CPPLIB is on.
1998-10-28 16:09 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
* cpplib.c: Merge do_once into do_pragma. Break file handling
code out of do_include.
Move append_include_chain, deps_output,
file_cleanup, redundant_include_p, import_hash,
lookup_import, add_import, read_filename_string, read_name_map,
open_include_file, finclude, safe_read to cppfiles.c.
Move prototypes for deps_output, append_include_chain,
finclude to cpplib.h. Move definition of struct
file_name_list there also.
* cppfiles.c: New file. Contains all the above functions
broken out of cpplib.c; also hack_vms_include_specification
from cccp.c and find_include_file, a new function broken out of
do_include.
* Makefile.in (cppmain): Depend on cppfiles.o.
(fix-header): Likewise.
(cppfiles.o): New target.
* configure.in (--enable-c-cpplib): Add cppfiles.o to
extra_c_objs. Add ../cppfiles.o to extra_cxx_objs.
Andrew MacLeod [Thu, 29 Oct 1998 11:21:20 +0000 (11:21 +0000)]
except.c (emit_eh_context): Make the EH context register stay alive at -O0 so stupid.c doesn't get confused.
Thu Oct 29 14:10:22 EST 1998 Andrew MacLeod <amacleod@cygnus.com>
* except.c (emit_eh_context): Make the EH context register stay alive
at -O0 so stupid.c doesn't get confused.
Jan Hubicka [Thu, 29 Oct 1998 00:38:31 +0000 (01:38 +0100)]
i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM
* i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM
(zero_extendsidi2): Use # in output template and handle completely by
splits.
(zero_extend splitters): New define_splits.
(ashiftrt_32): New pattern.
Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r23418
Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
* Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
(LIBCPP_OBJS): New. Add cppulp.o.
(cppmain, fix-header): Depend on and use libcpp.a.
* configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
of the individual object files.
* objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
last.
* cccp.c (user_label_prefix): New.
(main): Set it off -f*leading-underscore.
(special_symbol): Use it.
* cpplib.c (special_symbol): Likewise.
(cpp_handle_option): Handle -f*leading-underscore.
* cppulp.c: New file.
* output.h (user_label_prefix): Declare it.
* dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
* toplev.c (f_options, main): Handle -f*leading-underscore.
* defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
referencing USER_LABEL_PREFIX directly.
* config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
* final.c (asm_fprintf): Use user_label_prefix instead.
* arm/thumb.c (thumb_print_operand): Likewise.
* gcc.c (default_compilers): Pass -f*leading-underscore on to
cpp wherever appropriate.
Kaveh R. Ghazi [Wed, 28 Oct 1998 18:00:53 +0000 (18:00 +0000)]
Warning fixes:
* gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
structure which has exactly the members provided by EXTRA_SPECS.
Xmalloc() the real `extra_specs', and initialize it from this
intermediate structure.
* alpha.h (EXTRA_SPECS): Revert change for missing initializers.
* mips.h (EXTRA_SPECS): Likewise.
* sparc.h (EXTRA_SPECS): Likewise.
Andreas Schwab [Wed, 28 Oct 1998 16:46:46 +0000 (16:46 +0000)]
Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* function.c (purge_addressof_1): Instead of aborting when a
bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
work just put the ADDRESSOF on stack. Otherwise remember all such
successfull replacements, so that exactly the same replacements
can be made on the REG_NOTEs. Remove the special case for CALL
insns again.
(purge_addressof_replacements): New variable.
(purge_addressof): Clear it at end.
Jim Wilson [Wed, 28 Oct 1998 14:09:31 +0000 (14:09 +0000)]
Fix DWARF1/C++ abort with member function in class nested in another function.
* dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
if pending_types is non-zero.
(dwarfout_finish): Verify pending_types is zero before finishing.
class.c (layout_class): Don't mangle <finit>, produce __finit<class> instead.
Wed Oct 28 08:03:31 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (layout_class): Don't mangle <finit>, produce
__finit<class> instead. Don't verify artificial methods.
* decl.c (finit_identifier_node): New declared global.
(init_decl_processing): finit_identifier_node initialized.
* java-tree.def (CONDITIONAL_EXPR): New Java tree code.
* java-tree.h (finit_identifier_node): Declared as extern.
(struct lang_decl): New field called_constructor.
(DECL_CONSTRUCTOR_CALLS): Access macro to called_constructor.
(CLASS_HAS_FINIT_P): New macro.
(CALL_CONSTRUCTOR_P): Leading comment changed. Macro now checks
explicit constructor invocation.
(CALL_EXPLICIT_CONSTRUCTOR_P, CALL_THIS_CONSTRUCTOR_P,
CALL_SUPER_CONSTRUCTOR_P): New macros.
(write_classfile): Added prototype.
* jcf-parse.c (jcf_parse_source): Parse and remember for
generation if the file was seen on the command line.
(parse_source_file): Don't write the class file here.
(yyparse): Loop on files rewritten. Set current_jcf.
(parse_zip_file_entries): Parse class file only if it was found.
* lang.c (init_parse): Don't open command line provided filename
here.
(lang_parse): Don't set main_jcf anymore.
* parse.h (ABSTRAC_CHECK): Capitalized arguments.
(JCONSTRUCTOR_CHECK): New macro.
(JBSC_TYPE_P): New macro.
(IN_TRY_BLOCK_P, EXCEPTIONS_P): Fixed leading comment.
(COMPLETE_CHECK_OP_2): New macro.
(struct parse_ctxt): New field explicit_constructor_p.
(check_class_interface_creation): Fixed prototype indentation.
(patch_method_invocation_stmt): Prototype reflects added argument.
(patch_invoke): Likewise.
(complete_method_declaration, build_super_invocation,
verify_constructor_circularity,
build_this_super_qualified_invocation, get_printable_method_name,
patch_conditional_expr, maybe_generate_finit, fix_constructors,
verify_constructor_super, create_artificial_method,
start_artificial_method_body, end_artificial_method_body,
generate_field_initialization_code): New function prototypes.
* parse.y: Fixed leading comment
(constructor_header:, constructor_body:, block_end:): Rules tagged
<node>.
(type_declaration:): Call maybe_generate_finit.
(method_declaration:): Action for method_body: placed in new
function complete_method_declaration, called here.
(constructor_declaration:): Defined actions. Removed leading
FIXME.
(constructor_header:): New rule with action.
(constructor_body:): Rule rewritten using block_begin: and
block_end:. Defined actions.
(constructor_declarator:, explicit_constructor_invocation:):
Defined actions.
(block:): Use new rules block_begin: block_end:.
(block_begin:, block_end:): New rules and actions.
(block_statements:): Fixed error message for explicit
constructors.
(method_invocation:): Call build_this_super_qualified_invocation
if primary is `this' or `super' was seen.
(conditional_expression:): Action defined.
(extra_ctxp_pushed_p): New static global flag.
(java_parser_context_save_global): Create parser context if
necessary. Use extra_ctxp_pushed_p to remember it.
(java_parser_context_restore_global): Pop extra parser context if
one exists.
(build_array_from_name): Array on primitive types are marked
loaded.
(register_fields): Restore new name in field initializer
expression if type was altered. Non static fields initialized upon
declaration marked initialized.
(maybe_generate_finit): New function.
(maybe_generate_clinit): Use create_artificial_method,
start_artificial_method_body, end_artificial_method_body. Generate
debug info for enclosed initialization statements.
(method_header): Fixed leading comment. Check constructor
flags. Detect constructor declarations and set DECL_CONSTRUCTOR_P
accordingly.
(complete_method_declaration, constructor_circularity_msg,
verify_constructor_circularity): New functions.
(get_printable_method_name): New function.
(check_method_redefinition): Don't rename <finit> methods. Fix
declared constructor names. Error message for
constructors modified.
(java_check_regular_methods): Local variable seen_constructor
renamed saw_constructor. Skip verification on constructors. Create
default constructor with create_artificial_method.
(java_check_methods): Removed unnecessary empty line.
(create_artificial_method, start_artificial_method_body,
end_artificial_method_body): New functions.
(java_layout_classes): Changed leading comment. Reverse fields
list if necessary. Always layout java.lang.Object if being
defined.
(java_complete_expand_methods): Verify constructor circularity.
(java_complete_expand_method): Call fix_constructor on
constructors. Local variable no_ac_found removed. Restore
bindings if method body expansion failed.
(fix_constructors, verify_constructor_super,
generate_field_initialization_code): New function.
(java_expand_classes): Fixed leading comment. Write class file
here.
(resolve_expression_name): Check for illegal instance variable
usage within the argument scope of an explicit constructor
invocation.
(resolve_qualified_expression_name): Pass extra from_super flag
when invoking patch_method_invocation_stmt. New case for
conditional expression when used as a primary. Check for error
when acquiring super.
(patch_method_invocation_stmt): Added extra argument super. New
local variable is_static_flag. Set class_to_search according to
the nature of the constructor invocation. Don't add `this'
argument when expanding NEW_CLASS_EXPR. Check for illegal method
invocation within the argument scope of explicit constructor
invocation. Set is_static according to is_static_flag. Provide
extra `super' argument to patch_invoke invocation.
(patch_invoke): New argument from_super. Loop on arguments
indentation fixed. Pass from_super to invocation_mode. New switch
case INVOKE_SUPER. Fixed error message in switch default case.
Don't use CALL_CONSTRUCTOR_P but rather a test on the tree node
value.
(invocation_mode): Return INVOKE_SUPER mode when appropriate.
(lookup_method_invoke): Fixed prototypes in candidates list. Error
message takes constructors into account.
(find_applicable_accessible_methods_list): Fixed indentation.
(qualify_ambiguous_name): Take explicit constructor invocation
into account. Deal with a conditional expression as a primary to
a method call.
(java_complete_tree): Added local wfl_op3. New CONDITIONAL_EXPR
case. Added extra argument to patch_method_invocation_stmt.
Register calls made to explicit constructor `this'. Don't call
save_expr in ARRAY_REF case when emitting class files. Check for
illegal use of this when expanding explicit constructor invocation
arguments.
(complete_function_arguments): Set and reset parser context
explicit_constructor_p field value when appropriate.
(build_super_invocation, build_this_super_qualified_invocation):
New functions.
(patch_assignment): Fixed typo.
(patch_unaryop): Check on final fields occurs only when a decl
exits.
(patch_return): Take constructors into account.
(patch_conditional_expr): New function.
* typeck.c (build_java_signature): Removed unnecessary empty line.
This patch implements the conditional operator, fixes the super
invokation mode, implements most of what is required for constructors
and changes the way source files are handled by the front-end.
Jason Merrill [Wed, 28 Oct 1998 11:46:03 +0000 (06:46 -0500)]
revert: pt.c (convert_nontype_argument): Tell instantiate_type to complain.
Revert
* pt.c (convert_nontype_argument): Tell instantiate_type to complain.
Do complain about overload resolution producing a non-public fn.
Fixes g++.pt/explicit75.C
Bernd Schmidt [Wed, 28 Oct 1998 10:22:48 +0000 (10:22 +0000)]
regclass.c (renumber, [...]): New static variables, moved out of allocate_reg_info.
* regclass.c (renumber, regno_allocated): New static variables, moved
out of allocate_reg_info.
(allocate_reg_info): Move these two variables outside the function.
Move code to free memory into new function free_reg_info.
(free_reg_info): New function, broken out of allocate_reg_info.
* toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
* rtl.h (allocate_reg_info): Don't declare.
(free_reg_info): Declare.