Commit Graph

19586 Commits

Author SHA1 Message Date
Jeff Law 549f2254b6 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.

From-SVN: r23477
1998-10-31 12:44:17 -07:00
Jeff Law 27ff8c004e 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.

From-SVN: r23476
1998-10-31 12:44:15 -07:00
Jeffrey A Law 18f3f864d3 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.

From-SVN: r23475
1998-10-31 04:32:02 -07:00
Mark Mitchell 21af493bcd dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
* dwarf2out.c (output_call_frame_info): Use
	ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.

From-SVN: r23474
1998-10-31 10:04:48 +00:00
Kaveh R. Ghazi 0d4f7920f5 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.

From-SVN: r23473
1998-10-31 08:30:53 +00:00
Kaveh R. Ghazi bf39dde3b1 Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
* c-common.c (check_format_info): Don't check for the 'x'
        format character twice, instead check for 'x' and 'X'

From-SVN: r23472
1998-10-31 07:50:34 +00:00
Gerald Pfeifer 415634f602 * egcs_update: Add comment about keeping the FAQ synchronized.
From-SVN: r23471
1998-10-31 07:45:22 +00:00
Jason Merrill ecfafc1c15 * rtti.c (build_dynamic_cast_1): Fix cut-and-paste error.
From-SVN: r23470
1998-10-30 21:50:29 -05:00
Alexandre Oliva cba30eb8f8 sizeof3.C: a similar testcase not involving base classes
* g++.old-deja/g++.pt/sizeof3.C: a similar testcase not involving
	base classes

From-SVN: r23469
1998-10-31 02:06:21 +00:00
Alexandre Oliva e1a96a5729 sizeof2.C: incorrect specialization of base template is selected
* g++.old-deja/g++.pt/sizeof2.C: incorrect specialization of base
	template is selected

From-SVN: r23468
1998-10-31 01:54:35 +00:00
Jeff Law 7e0a7fc28e Daily bump.
From-SVN: r23467
1998-10-30 17:45:01 -07:00
Alexandre Oliva 073b7cea92 arrnew2.C: if new T[n](i) is accepted for classes, it should be accepted for all types.
* g++.old-deja/g++.ext/arrnew2.C: if new T[n](i) is accepted for
	classes, it should be accepted for all types.

From-SVN: r23466
1998-10-31 00:38:12 +00:00
Alexandre Oliva 57d75d5fe9 * g++.old-deja/g++.eh/sjlj1.C: test checked sjlj-exception
From-SVN: r23465
1998-10-31 00:29:38 +00:00
Alexandre Oliva f76f703ffd spec24.C: ensure that template specializations start with template headers
* g++.old-deja/g++.pt/spec24.C: ensure that template
	specializations start with template headers

From-SVN: r23464
1998-10-31 00:06:24 +00:00
Jeff Law 5585c1bc80 configure.in (assembler features): Also make gas is configured if we find it in the souce tree.
8
        * configure.in (assembler features): Also make gas is configured if
        we find it in the souce tree.

From-SVN: r23459
1998-10-30 06:55:47 -07:00
Jeff Law 09bedf8000 configure.in (assembler features): Also make gas is configured if we find it in the souce tree.
X
        * configure.in (assembler features): Also make gas is configured if
        we find it in the souce tree.

From-SVN: r23458
1998-10-30 06:55:43 -07:00
Richard Henderson 6093f019b9 i386.c (i386_comp_type_attributes): Compare whether the attributes are defined, not their tree nodes.
* i386.c (i386_comp_type_attributes): Compare whether the
        attributes are defined, not their tree nodes.

From-SVN: r23457
1998-10-30 05:24:33 -08:00
Richard Henderson f3196f46a2 Fix lying changelog entry.
From-SVN: r23456
1998-10-30 05:18:50 -08:00
Mark Mitchell 8a72a04676 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.

From-SVN: r23455
1998-10-30 11:17:50 +00:00
Tom Tromey 66d88624a9 class.c (build_class_ref): Changed name of primitive classes to start with `_Jv_'.
* class.c (build_class_ref): Changed name of primitive classes to
	start with `_Jv_'.

From-SVN: r23454
1998-10-30 09:15:12 +00:00
Alexandre Oliva de82584de7 configure.in (gxx_include_dir): bitten by autoconf quoting characters :-(
* configure.in (gxx_include_dir): bitten by autoconf quoting
	characters :-(
	* configure: rebuilt

From-SVN: r23453
1998-10-30 05:44:07 +00:00
Andreas Schwab d65ae0584b * configure.in: Ignore non-absolute value in $AS.
From-SVN: r23451
1998-10-30 01:45:46 +00:00
Jeff Law f5343a9dd0 Daily bump.
From-SVN: r23450
1998-10-29 17:45:03 -07:00
Tom Tromey 9cfceb60cd 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.

From-SVN: r23449
1998-10-30 00:35:32 +00:00
Peter Jakubek 8b83b2a74d * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
From-SVN: r23446
1998-10-29 16:57:11 -07:00
Mark Elbrecht dedcc3997e * configure.in (msdosdjgpp): Set exeext and target_alias.
From-SVN: r23445
1998-10-29 16:44:38 -07:00
Jeffrey A Law 0999b4b825 egcs_update: Do touch java/parse.c and java/parse-scan.c.
* egcs_update: Do touch java/parse.c and java/parse-scan.c. They're
        in the repo again.

From-SVN: r23444
1998-10-29 16:40:27 -07:00
Bernd Schmidt 421382ac8c 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.

From-SVN: r23443
1998-10-29 16:18:51 -07:00
Jeff Law 1f3b1e1a0b reload1.c (struct elim_table): Delete MAX_OFFSET member.
�
	* 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.

From-SVN: r23442
1998-10-29 16:07:56 -07:00
Jeff Law 6467c05f00 reload1.c (struct elim_table): Delete MAX_OFFSET member.
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.

From-SVN: r23441
1998-10-29 16:07:53 -07:00
Bernd Schmidt 00f9f1bc15 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.

From-SVN: r23440
1998-10-29 15:58:05 -07:00
Jason Merrill 24c659840f * decl.c (lookup_name_real): Simplify suggested fix.
From-SVN: r23439
1998-10-29 16:54:57 -05:00
Jason Merrill d7b3753c8e * decl.c (lookup_name_real): OK, only warn if not lexing.
From-SVN: r23438
1998-10-29 16:47:33 -05:00
Marcus Meissner afcfe58c38 i386.c (i386_valid_type_attribute_p): Return nonzero for mismatched "stdcall" and "cdecl" attributes.
* i386.c (i386_valid_type_attribute_p): Return nonzero for mismatched
        "stdcall" and "cdecl" attributes.

From-SVN: r23436
1998-10-29 14:37:24 -07:00
Jason Merrill 1a7a342d99 new
From-SVN: r23435
1998-10-29 16:23:53 -05:00
Jason Merrill 384278ddcd new
From-SVN: r23434
1998-10-29 16:10:23 -05:00
Jason Merrill 72c4a2a6fb 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

From-SVN: r23433
1998-10-29 15:46:55 -05:00
Jason Merrill ba4f4e5d1c * pt.c (push_template_decl_real):Remove unused var.
(is_member_template_class): #if 0.

From-SVN: r23432
1998-10-29 15:18:48 -05:00
Jim Wilson faff4ab8c5 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.

From-SVN: r23431
1998-10-29 11:06:48 -08:00
Jeffrey A Law 839366ddec mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end of the sequences to reload the HILO register...
* mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
        of the sequences to reload the HILO register which do not actually
        reference HILO.

From-SVN: r23430
1998-10-29 10:18:07 -07:00
Alexandre Oliva 60049c8def * g++.old-deja/g++.other/dcast2.C: cannot dynamic downcast &x
From-SVN: r23429
1998-10-29 13:58:38 +00:00
Alexandre Oliva 124e573237 init9.C: test cross initialization of non-POD types
* g++.old-deja/g++.other/init9.C: test cross initialization of
	non-POD types

From-SVN: r23428
1998-10-29 13:44:56 +00:00
Jim Wilson 1e2800358a Fix for sparc va_arg macro aliasing problem.
* c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.

From-SVN: r23427
1998-10-29 04:40:21 -08:00
Zack Weinberg 7140b0dba6 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.

From-SVN: r23425
1998-10-29 06:55:06 -05:00
Zack Weinberg add7091b5b [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.

From-SVN: r23424
1998-10-29 06:54:13 -05:00
Andrew MacLeod 0fc1434bd0 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.

From-SVN: r23423
1998-10-29 11:21:20 +00:00
Jason Merrill e1a5ccf7e6 pt.c (push_template_decl_real): Generalize check for incorrect number of template parms.
* pt.c (push_template_decl_real): Generalize check for incorrect
	number of template parms.

From-SVN: r23422
1998-10-28 21:27:55 -05:00
Jason Merrill 1d194eae19 new
From-SVN: r23421
1998-10-28 21:27:41 -05:00
Herman A.J. ten Brugge e526eeec3f emit-rtl.c (try_split): Do not try to split a BARRIER.
* emit-rtl.c (try_split): Do not try to split a BARRIER.
Fixes core dump for c4x c-torture test.

From-SVN: r23420
1998-10-28 18:25:35 -07:00
Jeff Law af2c0a263d Daily bump.
From-SVN: r23419
1998-10-28 17:45:02 -07:00