Alex Samuel [Wed, 22 Sep 1999 05:51:44 +0000 (05:51 +0000)]
Various fixes for problems discovered stress-testing GC.
* config/i386/i386.c (pic_label_name): Change to char pointer.
(global_offset_table): New variable.
(load_pic_register): Fill global_offset_table if it hasn't
already been done. Allocate pic_label_name dynamically.
* ggc.h (empty_string): New variable.
* ggc-simple.c (empty_string): Likewise.
(init_ggc): Allocate empty_string and add as root.
* stmt.c (digit_strings): New variable.
(init_stmt): Add last_block_end_note as root. Allocate and
initialize digit_strings.
(expand_asm_operands): Use empty_string and digit_string instead
of string constants.
* profile.c (init_arc_profiler): Allocate with ggc_alloc_string
instead of xmalloc.
(output_func_start_profiler): Likewise.
* c-typeck.c (digest_init): Check if init is error_mark_node.
From-SVN: r29575
Bryce McKinlay [Wed, 22 Sep 1999 04:41:26 +0000 (04:41 +0000)]
MessageFormat.java (MessageFormat(String)): Set the default locale.
1999-09-16 Bryce McKinlay <bryce@albatross.co.nz>
* java/text/MessageFormat.java (MessageFormat(String)): Set the
default locale.
* java/text/NumberFormat.java: Check that object is a Number. If
not, throw IllegialArgumentException.
From-SVN: r29574
Jan Hubicka [Wed, 22 Sep 1999 01:40:28 +0000 (03:40 +0200)]
Jan Hubicka <hubicka@freesoft.cz>
* genrecog.c (not_both_true): Handle correctly cases when called for
tests with different positions in the insn.
From-SVN: r29573
Jason Merrill [Wed, 22 Sep 1999 00:35:28 +0000 (20:35 -0400)]
remove check_lang_option prototype
From-SVN: r29572
Jason Merrill [Wed, 22 Sep 1999 00:30:34 +0000 (00:30 +0000)]
decl2.c (lang_decode_option): Accept and ignore -finit-priority.
* decl2.c (lang_decode_option): Accept and ignore -finit-priority.
Accept and warn about -fthis-is-variable.
From-SVN: r29571
Tom Tromey [Tue, 21 Sep 1999 23:20:43 +0000 (23:20 +0000)]
Output_UTF8.java (write): Don't exit loop unless both `inlength' and `bytes_todo' are 0.
* gnu/gcj/convert/Output_UTF8.java (write): Don't exit loop unless
both `inlength' and `bytes_todo' are 0. Simplified 2-byte case.
From-SVN: r29570
Tom Tromey [Tue, 21 Sep 1999 23:01:23 +0000 (23:01 +0000)]
posix-threads.h (_Jv_MutexDestroy): Use _Jv_PthreadGetMutex.
* include/posix-threads.h (_Jv_MutexDestroy): Use
_Jv_PthreadGetMutex.
(_Jv_MutexLock): Likewise.
(_Jv_MutexUnlock): Likewise.
From-SVN: r29569
Kaveh R. Ghazi [Tue, 21 Sep 1999 22:31:29 +0000 (22:31 +0000)]
machmode.h (HOST_PTR_PRINTF): Move from here ...
* machmode.h (HOST_PTR_PRINTF): Move from here ...
* system.h (HOST_PTR_PRINTF): ... to here.
* mips-tfile.c: Don't include machmode.h.
* Makefile.in (MACHMODE_H): New variable. Update to use it.
(mips-tfile.o): Don't depend on machmode.h.
From-SVN: r29568
Kaveh R. Ghazi [Tue, 21 Sep 1999 22:28:47 +0000 (22:28 +0000)]
haifa-sched.c (sched_analyze): Rename local variable `region' to avoid conflicts with typedef struct `region'...
* haifa-sched.c (sched_analyze): Rename local variable `region' to
avoid conflicts with typedef struct `region' at the top level scope.
From-SVN: r29567
Tom Tromey [Tue, 21 Sep 1999 21:35:41 +0000 (21:35 +0000)]
OutputStreamWriter.java (OutputStreamWriter): Reverted previous patch; it too was incorrect.
* java/io/OutputStreamWriter.java (OutputStreamWriter): Reverted
previous patch; it too was incorrect.
* java/io/PrintStream.java (PrintStream): Likewise.
From-SVN: r29566
Richard Henderson [Tue, 21 Sep 1999 21:15:37 +0000 (14:15 -0700)]
basic-block.h (basic_block): Add eh_beg, eh_end.
* basic-block.h (basic_block): Add eh_beg, eh_end.
* flow.c (entry_exit_blocks): Update.
(find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
Call new functions.
(find_basic_blocks_1): Don't record eh_list at each bb. Use
lists.c functions to allocate insn lists.
(make_edges): Use eh_beg+eh_end, not the lists. Split out EH
edge creation ...
(make_eh_edge): ... here. New.
(move_stray_eh_region_notes): New.
(record_active_eh_regions): New.
(delete_unreachable_blocks): Split out block merging ...
(try_merge_blocks): ... here. New.
(merge_blocks_move_predecessor_nojumps): Remove edge arg.
Dump debugging data.
(merge_blocks_move_successor_nojumps): Likewise.
(merge_blocks): Use eh_beg+eh_end to validate block movement.
From-SVN: r29565
Mark Mitchell [Tue, 21 Sep 1999 20:32:44 +0000 (20:32 +0000)]
dump.c (dequeue_and_dump): Handle START_CATCH_STMT, CLEANUP_STMT, and SCOPE_STMT.
* dump.c (dequeue_and_dump): Handle START_CATCH_STMT,
CLEANUP_STMT, and SCOPE_STMT.
From-SVN: r29564
Mark Mitchell [Tue, 21 Sep 1999 20:27:48 +0000 (20:27 +0000)]
* g++.dg/ecos.exp: Don't supply -finit-priority to cc1plus.
From-SVN: r29563
Mark Mitchell [Tue, 21 Sep 1999 20:19:18 +0000 (20:19 +0000)]
decl2.c (lang_decode_option): Adjust, in the wake of recent changes to option processing.
* decl2.c (lang_decode_option): Adjust, in the wake of recent
changes to option processing.
From-SVN: r29562
Martin v. Löwis [Tue, 21 Sep 1999 19:51:16 +0000 (19:51 +0000)]
New test case.
From-SVN: r29561
Tom Tromey [Tue, 21 Sep 1999 19:49:13 +0000 (19:49 +0000)]
OutputStreamWriter.java (OutputStreamWriter): Don't refer to `this' before calling superclass constructor.
* java/io/OutputStreamWriter.java (OutputStreamWriter): Don't
refer to `this' before calling superclass constructor.
* java/io/PrintStream.java (PrintStream): Don't refer to `this'
before calling superclass constructor.
From-SVN: r29560
Martin v. Löwis [Tue, 21 Sep 1999 19:49:04 +0000 (19:49 +0000)]
typeck.c (get_member_function_from_ptrfunc): Allow extraction of function pointer from pmfs with no object given.
* typeck.c (get_member_function_from_ptrfunc): Allow extraction of
function pointer from pmfs with no object given.
(convert_for_assignment): Do not return error when converting
pmfs.
From-SVN: r29559
Martin v. Löwis [Tue, 21 Sep 1999 19:34:59 +0000 (19:34 +0000)]
extend.texi (Bound member functions): Document unbound pmf conversion.
* extend.texi (Bound member functions): Document unbound pmf
conversion.
From-SVN: r29558
Martin v. Löwis [Tue, 21 Sep 1999 19:34:55 +0000 (19:34 +0000)]
extend.texi (Bound member functions): Document unbound pmf conversion.
* extend.texi (Bound member functions): Document unbound pmf
conversion.
From-SVN: r29557
Andrew MacLeod [Tue, 21 Sep 1999 18:57:12 +0000 (18:57 +0000)]
flow.c (split_edge): Handle insertion on a fallthrough edge which has the EXIT_BLOCK as a dest.
Tue Sep 21 14:55:11 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
* flow.c (split_edge): Handle insertion on a fallthrough edge which
has the EXIT_BLOCK as a dest.
From-SVN: r29556
Andrew MacLeod [Tue, 21 Sep 1999 18:54:34 +0000 (18:54 +0000)]
flow.c (remove_edge): New function to remove an edge from the flow graph.
Tue Sep 21 14:51:23 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
* flow.c (remove_edge): New function to remove an edge from the
flow graph.
(remove_fake_successors): New function to remove fake successor edges.
(remove_fake_edges): New function to remove all fake edges from the
flow graph.
(add_fake_exit_edges): New function to add fake edges from all blocks
with no successors to the exit block.
* basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
prototypes for new functions.
From-SVN: r29555
Andrew MacLeod [Tue, 21 Sep 1999 18:52:37 +0000 (18:52 +0000)]
elf64.h (ASM_OUTPUT_CONSTRUCTOR, [...]): Use Pmode to determine whether to output .dword or .word.
Tue Sep 21 14:49:53 EDT 1999 Andrew MacLeod <amacleod@cygnus.com>
* config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
Use Pmode to determine whether to output .dword or .word.
From-SVN: r29554
Alex Samuel [Tue, 21 Sep 1999 18:14:26 +0000 (18:14 +0000)]
Replace string const "<internal>" with dynamic allocation.
* lex.c (internal_filename): New variable.
(INTERNAL_FILENAME): New macro.
(init_parse): Allocate internal_filename and mark as root. Use it
instead of a string constant.
From-SVN: r29553
Alex Samuel [Tue, 21 Sep 1999 18:09:54 +0000 (18:09 +0000)]
Replace string const "<built-in>" with dynamic allocation.
* tree.c (built_in_filename): New variable.
(BUILT_IN_FILENAME): New macro.
(init_tree_codes): Allocate built_in_filename.
(make_node): Use built_in_filename instead of string constant.
From-SVN: r29552
Nick Clifton [Tue, 21 Sep 1999 16:42:20 +0000 (16:42 +0000)]
Add FR30 to list of targets for which -fpic is inappropriate.
From-SVN: r29551
Alexandre Petit-Bianco [Tue, 21 Sep 1999 15:53:23 +0000 (15:53 +0000)]
re GNATS gcj/46 (Static inializers compiled incorrectly)
Thu Sep 16 15:42:39 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (java_method_add_stmt): Test against GET_CURRENT_BLOCK
instead of fndecl.
(This patch fixes the net Java PR #46:
http://sourceware.cygnus.com/ml/java-prs/1999-q3/msg00092.html)
From-SVN: r29550
Nick Clifton [Tue, 21 Sep 1999 15:21:17 +0000 (15:21 +0000)]
Add FR30 port.
From-SVN: r29549
Nick Clifton [Tue, 21 Sep 1999 15:17:53 +0000 (15:17 +0000)]
Add FR30 target.
From-SVN: r29548
Toon Moene [Tue, 21 Sep 1999 15:10:06 +0000 (17:10 +0200)]
* g77spec.c (lang_specific_driver): Initialise return value.
From-SVN: r29547
Nathan Sidwell [Tue, 21 Sep 1999 15:00:41 +0000 (15:00 +0000)]
dyncast1.C: New test.
* g++.old-deja/g++.other/dyncast1.C: New test.
* g++.old-deja/g++.other/dyncast2.C: New test.
* g++.old-deja/g++.other/dyncast3.C: New test.
* g++.old-deja/g++.other/dyncast4.C: New test.
* g++.old-deja/g++.other/dyncast5.C: New test.
* g++.old-deja/g++.eh/catch3.C: New test.
* g++.old-deja/g++.eh/catch3p.C: New test.
* g++.old-deja/g++.eh/catch4.C: New test.
* g++.old-deja/g++.eh/catch4p.C: New test.
* g++.old-deja/g++.eh/catch5.C: New test.
* g++.old-deja/g++.eh/catch5p.C: New test.
* g++.old-deja/g++.eh/catch6.C: New test.
* g++.old-deja/g++.eh/catch6p.C: New test.
* g++.old-deja/g++.eh/catch7.C: New test.
* g++.old-deja/g++.eh/catch7p.C: New test.
* g++.old-deja/g++.eh/catch8.C: New test.
* g++.old-deja/g++.eh/catch8p.C: New test.
* g++.old-deja/g++.eh/catch9.C: New test.
* g++.old-deja/g++.eh/catch9p.C: New test.
From-SVN: r29546
Jeffrey A Law [Tue, 21 Sep 1999 14:47:23 +0000 (14:47 +0000)]
flow.c (merge_blocks_move_successor_nojumps): Delete the BARRIER at the end of the successor...
* flow.c (merge_blocks_move_successor_nojumps): Delete the
BARRIER at the end of the successor, not the BARRIER before
the successor.
From-SVN: r29545
Nathan Sidwell [Tue, 21 Sep 1999 14:40:13 +0000 (14:40 +0000)]
Reimplement dynamic cast and catch matching.
* cp-tree.h (get_dynamic_cast_base_type): Prototype new function
* search.c (dynamic_cast_base_recurse): New function.
(get_dynamic_cast_base_type): New function for dynamic cast.
* rtti.c (build_dynamic_cast_1): Determine source and target
class relationship. Call __dynamic_cast_2.
* tinfo.h (__user_type_info::upcast): New catch dispatcher.
(__user_type_info::dyncast): New dynamic cast dispatcher.
(__user_type_info::sub_kind): New nested enumeration.
(__user_type_info::contained_p): sub_kind predicate.
(__user_type_info::contained_public_p): Likewise.
(__user_type_info::contained_nonpublic_p): Likewise.
(__user_type_info::contained_nonvirtual_p: Likewise.
(__user_type_info::upcast_result): New nested struct.
(__user_type_info::dyncast_result): New nested struct.
(*::do_upcast): New catch function.
(*::do_dyncast): New dynamic cast function.
(__user_type_info::find_public_subobj): New dynamic cast
helper dispatcher.
(*::do_find_public_subobj): New dynamic cast helper function.
* tinfo.cc (__user_type_info::upcast): Define catch dispatcher.
(__user_type_info::dyncast): Define dynamic cast dispatcher.
(*::do_upcast): Define catch function.
(*::do_dyncast): Define dynamic cast function.
(*::do_find_public_subobj): Define dynamic cast helper function.
* tinfo2.cc (__throw_type_match_rtti_2): Use upcast.
(__dynamic_cast): Backwards compatibility wrapper. Use dyncast.
(__dynamic_cast_2): New dynamic cast runtime.
From-SVN: r29544
Jeffrey A Law [Tue, 21 Sep 1999 13:48:59 +0000 (13:48 +0000)]
Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to the compiler when building C code.
* Makefile.in (gc.o, gc_gc.o): Do not pass -fgnu-runtime to
the compiler when building C code.
From-SVN: r29543
Jeffrey A Law [Tue, 21 Sep 1999 12:48:36 +0000 (12:48 +0000)]
* pa.c (pa_add_gc_roots): Fix thinko in last change.
From-SVN: r29542
Richard Earnshaw [Tue, 21 Sep 1999 11:31:14 +0000 (11:31 +0000)]
stmt.c (any_pending_cleanups): Don't crash when current_function->stmt is unset.
* stmt.c (any_pending_cleanups): Don't crash when
current_function->stmt is unset.
From-SVN: r29541
Alex Samuel [Tue, 21 Sep 1999 08:53:52 +0000 (08:53 +0000)]
Add myself to the list.
From-SVN: r29540
Mark Mitchell [Tue, 21 Sep 1999 07:45:38 +0000 (07:45 +0000)]
Force check-in to ensure that it is up to date.
From-SVN: r29539
Jeff Law [Tue, 21 Sep 1999 07:45:11 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29538
Mark Mitchell [Tue, 21 Sep 1999 07:41:01 +0000 (07:41 +0000)]
cp-tree.h (finish_stmt_expr): Change prototype.
* cp-tree.h (finish_stmt_expr): Change prototype.
* expr.c (cplus_expand_expr): Adjust call accordingly.
* init.c (finish_init_stmts): Likewise.
* parse.y (primary): Likewise.
* pt.c (tsubst_copy): Likewise.
* semantics.c (finish_stmt_expr): Don't take two parameters.
Don't remove generated BLOCKs from the block-tree.
From-SVN: r29537
Alexandre Oliva [Tue, 21 Sep 1999 04:06:31 +0000 (04:06 +0000)]
cp-tree.h (finish_stmt_expr): Change prototype.
* cp-tree.h (finish_stmt_expr): Change prototype.
* expr.c (cplus_expand_expr): Adjust call accordingly.
* init.c (finish_init_stmts): Likewise.
* parse.y (primary): Likewise.
* pt.c (tsubst_copy): Likewise.
* semantics.c (finish_stmt_expr): Don't take two parameters.
Don't remove generated BLOCKs from the block-tree.
From-SVN: r29536
Alexandre Oliva [Tue, 21 Sep 1999 04:04:16 +0000 (04:04 +0000)]
emit-rtl.c (init_emit_once): Initialize const_int_rtx before other initializations that may use it for...
* emit-rtl.c (init_emit_once): Initialize const_int_rtx before
other initializations that may use it for relative offsets.
From-SVN: r29535
Alexandre Oliva [Tue, 21 Sep 1999 00:55:08 +0000 (00:55 +0000)]
sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
* config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
(ASM_SPEC): Moved from sol2dbg.h. Added work-around for gas.
* config/i386/sol2dbg.h: Removed.
* config/i386/sol2gas.h: New file, to enable gas work-around.
* configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
Don't use sol2dbg.h.
* configure: Rebuilt.
From-SVN: r29534
Mark Mitchell [Mon, 20 Sep 1999 21:26:06 +0000 (21:26 +0000)]
cp-tree.h (finish_stmt_expr): Change prototype.
* cp-tree.h (finish_stmt_expr): Change prototype.
* expr.c (cplus_expand_expr): Adjust call accordingly.
* init.c (finish_init_stmts): Likewise.
* parse.y (primary): Likewise.
* pt.c (tsubst_copy): Likewise.
* semantics.c (finish_stmt_expr): Don't take two parameters.
Don't remove generated BLOCKs from the block-tree.
From-SVN: r29533
Mark Mitchell [Mon, 20 Sep 1999 20:24:42 +0000 (20:24 +0000)]
* invoke.texi (-fthis-is-variable): Remove documentation.
From-SVN: r29532
Mark Mitchell [Mon, 20 Sep 1999 20:19:04 +0000 (20:19 +0000)]
Remove support for assigning to `this'.
* NEWS: Note that fact.
* class.c (build_vbase_path): Don't check flag_this_is_variable.
* cp-tree.h (EXPR_STMT_ASSIGNS_THIS): Remove.
(language_function): Remove assigns_this, just_assigned_this, and
x_base_init_expr. Add x_vcalls_possible_p. Add vtbls_set_up_p.
(base_init_expr): Remove.
(current_vcalls_possible_p): New macro.
(vtbls_set_up_p): Likewise.
(emit_base_init): Change prototype.
* decl.c (finish_destructor_body): New function, split out from
finish_function.
(current_function_assigns_this): Remove.
(current_function_just_assigned_this): Likewise.
(start_function): Don't set them.
(finish_function): Don't check them. Don't emit
base-initialization code here. Generate code for destructors when
doing semantic analysis.
(finish_stmt): Don't check current_function_just_assigned_this.
* decl2.c (lang_f_options): Remove this-is-variable.
(lang_decode_option): Likewise.
(grokclassfn): Don't check flag_this_is_variable.
* init.c (emit_base_init): Return the expression generated.
(construct_virtual_bases): Don't push/pop obstacks. Fix
typo.
(build_new_1): Don't check flag_this_is_variable.
(get_temp_regvar): Don't set DECL_REGISTER.
(build_vec_init): Don't call use_variable.
* lang-options.h: Remove "-fthis-is-variable" and
"-fno-this-is-variable".
* pt.c (tsubst_expr): Don't check EXPR_STMT_ASSIGNS_THIS.
* search.c (expand_upcast_fixups): Use finish_expr_stmt, not
expand_expr_stmt.
* semantics.c (finish_expr_stmt_real): Rename to ...
(finish_expr_stmt): This. Remove assigned_this parameter.
(begin_if_stmt): Call do_pushlevel before starting the statement.
(begin_compound_stmt): Don't declare __FUNCTION__ in scope-less
blocks.
(setup_vtbl_ptr): Emit initialization code for bases and members
at semantic-analysis time. Emit code to initialize vtables in
destructors here.
(expand_stmt): Use finish_expr_stmt, not finish_expr_stmt_real.
Don't handle CTOR_INITIALIZER any more.
* typeck.c (build_modify_expr): Don't check for assignments to
this.
(c_expand_return): Don't suggest assigning to `this'.
* Makefile.in (decl.o): Depend on RTL_H.
(decl2.o): Likewise.
(class.o): Likewise.
(call.o): Likewise.
(method.o): Likewise.
(search.o): Likewise.
(tree.o): Likewise.
(pt.o): Likewise.
* decl.c (duplicate_decls): When a builtin function is redeclared
as static, make sure it is mangled correctly.
* ir.texi (CTOR_INITIALIZER): Remove mention. Fix typo. Add
detail about the statement-tree.
From-SVN: r29531
Richard Henderson [Mon, 20 Sep 1999 20:11:36 +0000 (13:11 -0700)]
basic-block.h (compute_bb_for_insn): Declare.
* basic-block.h (compute_bb_for_insn): Declare.
* flow.c (compute_bb_for_insn): Export. Don't accept the varray
to use; set size of basic_block_for_insn directly.
(find_basic_blocks): Update.
From-SVN: r29530
Tom Tromey [Mon, 20 Sep 1999 20:09:42 +0000 (20:09 +0000)]
configure: Rebuilt.
* configure: Rebuilt.
* configure.in: Send output of `-fuse-divide-subroutine' test
compilation to /dev/null.
From-SVN: r29529
Kaveh R. Ghazi [Mon, 20 Sep 1999 19:14:48 +0000 (19:14 +0000)]
* flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
From-SVN: r29528
Kaveh R. Ghazi [Mon, 20 Sep 1999 18:59:09 +0000 (18:59 +0000)]
crtstuff.c (ON_EXIT): Delete empty macro definition.
* crtstuff.c (ON_EXIT): Delete empty macro definition.
(__do_global_ctors_aux): Call atexit(), not ON_EXIT().
From-SVN: r29527
Jeffrey A Law [Mon, 20 Sep 1999 17:12:03 +0000 (17:12 +0000)]
Revert this change. Gavin's patch to operand_equal_p is a better fix.
* fold-const.c (fold_range_test): Do not try to fold the range
test if the rhs or lhs has side effects.
From-SVN: r29526
Andreas Schwab [Mon, 20 Sep 1999 16:27:29 +0000 (16:27 +0000)]
Makefile.in (parse.o): Depend on $(JAVA_TREE_H).
1999-09-15 Andreas Schwab <schwab@suse.de>
* Makefile.in (parse.o): Depend on $(JAVA_TREE_H).
From-SVN: r29525
Nathan Sidwell [Mon, 20 Sep 1999 16:19:26 +0000 (16:19 +0000)]
* parse.y (primary): Use build_functional_cast for CV_QUALIFIER.
From-SVN: r29524
Jeffrey A Law [Mon, 20 Sep 1999 14:53:51 +0000 (14:53 +0000)]
basic-block.h (compute_flow_dominators): Declare.
* basic-block.h (compute_flow_dominators): Declare.
* gcse.c (alloc_code_hoist_mem): New function.
(free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
(compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
(hoist_code, one_code_hoisting_pass): Likewise.
(gcse_main): If optimizing for size, then hoist expressions
computed in multiple dominated basic blocks.
From-SVN: r29523
Nick Clifton [Mon, 20 Sep 1999 14:26:59 +0000 (14:26 +0000)]
Add comment saying that lang_decode_options should not complain about
unrecognised options.
From-SVN: r29522
Jeffrey A Law [Mon, 20 Sep 1999 13:58:33 +0000 (13:58 +0000)]
gcse.c (invalid_nonnull_info): New function.
* gcse.c (invalid_nonnull_info): New function.
(delete_null_pointer_checks): Likewise.
* rtl.h (delete_null_pointer_checks): Declare.
* toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
From-SVN: r29521
Nick Clifton [Mon, 20 Sep 1999 13:48:12 +0000 (13:48 +0000)]
Pass all command line options to both language dependent and language independent
decoders.
From-SVN: r29520
Jeffrey A Law [Mon, 20 Sep 1999 12:34:26 +0000 (12:34 +0000)]
flow.c (merge_blocks_move_predecessor_nojumps): New function.
* flow.c (merge_blocks_move_predecessor_nojumps): New function.
(merge-blocks_move_successor_nojumps): Likewise.
(merge_blocks): Allow merging of some blocks, even if it requires
physical movement of the blocks, but not if it requires new jumps.
From-SVN: r29519
Jeffrey A Law [Mon, 20 Sep 1999 11:52:22 +0000 (11:52 +0000)]
bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
* bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
Callers and prototype changed.
* bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
From-SVN: r29518
Alexandre Oliva [Mon, 20 Sep 1999 10:08:10 +0000 (10:08 +0000)]
sol2.h (LINK_SPEC): Avoid the duplication of -YP when both -p and -pg are present.
* config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
-YP when both -p and -pg are present. From i386/sol2.h.
From-SVN: r29516
Bernd Schmidt [Mon, 20 Sep 1999 10:05:28 +0000 (10:05 +0000)]
Make it possible to prototype port-specific functions (and convert i386 to use this)
From-SVN: r29515
Bernd Schmidt [Mon, 20 Sep 1999 10:00:03 +0000 (10:00 +0000)]
Make it possible to prototype port-specific functions (and convert i386 to use this)
From-SVN: r29514
Jeff Law [Mon, 20 Sep 1999 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29513
Richard Henderson [Sun, 19 Sep 1999 21:19:38 +0000 (14:19 -0700)]
* c-pragma.c (mark_align_stack): Dereference the void* properly.
From-SVN: r29512
Richard Henderson [Sun, 19 Sep 1999 21:10:58 +0000 (14:10 -0700)]
Forgot to commit last time.
From-SVN: r29511
Mark Mitchell [Sun, 19 Sep 1999 17:00:01 +0000 (17:00 +0000)]
Fix typo in last change
From-SVN: r29510
Mark Mitchell [Sun, 19 Sep 1999 16:04:01 +0000 (16:04 +0000)]
rtl.h (insns_safe_to_move_p): New function.
* rtl.h (insns_safe_to_move_p): New function.
* loop.c (find_and_verify_loops): Use it.
* rtlanal.c (insns_safe_to_move_p): Define it.
From-SVN: r29509
Mark Mitchell [Sun, 19 Sep 1999 15:50:40 +0000 (15:50 +0000)]
* ir.texi: New file.
From-SVN: r29508
Richard Henderson [Sun, 19 Sep 1999 09:56:11 +0000 (02:56 -0700)]
c-pragma.c: Include ggc.h.
* c-pragma.c: Include ggc.h.
* Makefile.in (c-pragma.o): Update.
From-SVN: r29507
Jeff Law [Sun, 19 Sep 1999 07:45:10 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r29506
Mark Mitchell [Sun, 19 Sep 1999 00:33:09 +0000 (00:33 +0000)]
gxxint.texi: G++ now implements namespaces.
* gxxint.texi: G++ now implements namespaces.
* decl.c (pop_label): Don't warn about unused labels more than
once.
* semantics.c (finish_goto_stmt): Always marked used labels as
used.
From-SVN: r29505
Mark Mitchell [Sat, 18 Sep 1999 23:56:18 +0000 (23:56 +0000)]
decl.c (layout_var_decl): Change prototype.
* decl.c (layout_var_decl): Change prototype. Call layout_decl
even when the declaration is external.
(cp_finish_decl): Adjust call to layout_var_decl.
* pt.c (tsubst_expr): Make sure to initialize stmt before using it.
From-SVN: r29504
Alexandre Oliva [Sat, 18 Sep 1999 19:09:32 +0000 (19:09 +0000)]
sol2.h (CPP_SPEC): Support -[p]threads
* config/i386/sol2.h (CPP_SPEC): Support -[p]threads
(LIB_SPEC): Likewise.
(LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
Reindent -YP/-p/-pg.
Copied from config/sparc/sol2.h.
From-SVN: r29503
Richard Henderson [Sat, 18 Sep 1999 18:54:36 +0000 (11:54 -0700)]
c-pragma.c (mark_align_stack): New.
* c-pragma.c (mark_align_stack): New.
(init_pragma): New.
* c-pragma.h (init_pragma): Declare it.
* c-lex.c (init_parse): Call it.
From-SVN: r29502
Alexandre Oliva [Sat, 18 Sep 1999 18:25:50 +0000 (18:25 +0000)]
configure.in: Pick up thread library on Solaris/x86 just like on Solaris/sparc.
* configure.in: Pick up thread library on Solaris/x86 just
like on Solaris/sparc.
* configure: Rebuilt.
From-SVN: r29501
Alex Samuel [Sat, 18 Sep 1999 18:16:44 +0000 (18:16 +0000)]
rtl.h (global_rtx_index): New enum.
* rtl.h (global_rtx_index): New enum.
(global_rtl): Change to array of rtx.
(pc_rtx, cc0_rtx): Redefine accordingly.
(cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
(hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
(virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
(virtual_outgoing_args_rtx, virtual_cfa): Likewise.
(const_int_rtx): Change to array of rtx.
(const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
accordingly.
* emit-rtl.c (global_rtl): Change to array of rtx.
(const_int_rtx): Change to aray of rtx.
(gen_rtx_CONST_INT): Redefine accordingly.
(init_emit_once): Allocate and initialize global_rtl. Likewise
for const_int_rtx. Add both as GC roots.
* genattrtab.c (global_rtl): Update declaration.
From-SVN: r29500
Alexandre Oliva [Sat, 18 Sep 1999 18:06:20 +0000 (18:06 +0000)]
* overload1.C: New test.
From-SVN: r29499
Ulrich Drepper [Sat, 18 Sep 1999 18:06:11 +0000 (18:06 +0000)]
Update.
From-SVN: r29498
Ulrich Drepper [Sat, 18 Sep 1999 18:05:59 +0000 (18:05 +0000)]
(USER_H): Add iso646.h back.
From-SVN: r29497
Jeffrey A Law [Sat, 18 Sep 1999 12:06:24 +0000 (12:06 +0000)]
haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of zapping the LOG_LINKS of sched_before_next_call.
* haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
zapping the LOG_LINKS of sched_before_next_call.
From-SVN: r29496
Alexandre Oliva [Sat, 18 Sep 1999 11:23:55 +0000 (11:23 +0000)]
* inline1.C: New test.
From-SVN: r29495
Martin v. Löwis [Sat, 18 Sep 1999 10:46:07 +0000 (10:46 +0000)]
typeck.c (get_member_function_from_ptrfunc): Always consider virtuality inside member pointer.
* typeck.c (get_member_function_from_ptrfunc): Always consider
virtuality inside member pointer.
From-SVN: r29494
Martin v. Löwis [Sat, 18 Sep 1999 10:45:56 +0000 (10:45 +0000)]
New test case.
From-SVN: r29493
Jeff Law [Sat, 18 Sep 1999 07:46:13 +0000 (01:46 -0600)]
Daily bump.
From-SVN: r29492
Jeffrey A Law [Sat, 18 Sep 1999 07:13:31 +0000 (07:13 +0000)]
pa.h (INSN_SETS_ARE_DELAYED): Delete.
* pa.h (INSN_SETS_ARE_DELAYED): Delete.
* pa.c (insn_refs_are_delayed): Renamed from
insn_sets_and_refs_are_delayed.
From-SVN: r29491
Mark Mitchell [Sat, 18 Sep 1999 01:23:20 +0000 (01:23 +0000)]
Turn on function-at-a-time processing.
* cp-tree.h (doing_semantic_analysis_p): New macro.
(SF_DEFAULT): Define to zero, not SF_EXPAND.
(start_handler_parms): Change prototype.
(expand_start_catch_block): Likewise.
(expand_end_catch_block): Likewise.
(expand_start_eh_spec): Likewise.
(expand_end_eh_spec): Declare.
(finish_handler_parms): Change prototype.
(begin_catch_block): Declare.
(finish_handler): Change prototype.
(do_pushlevel): Declare.
(do_poplevel): Likewise.
* decl.c (pushlevel): Don't create
binding levels when not doing semantic analysis.
(poplevel): Don't pop them.
(pushdecl): Assert that we are never called when not doing
semantic analysis.
(pushdecl_top_level): Use push_to_top_level.
(make_label_decl): Don't fiddle with obstacks. Make RTL For the
label when expanding.
(cp_finish_decl): Only inject for-scope variables when doing
semantic analysis. Add comments.
(start_handler_parms): Return the handler parm.
(start_function): Reorganize. Don't clear DECL_INITIAL if it is
already set. Reinitialize from saved function data if available.
Don't pushlevel when not doing semantic analysis.
(store_parm_decls): Only generate RTL when expanding. Only
pushdecl when doing semantic analysis. Set
current_eh_spec_try_block if appropriate.
(finish_function): Simplify. Use do_pushlevel and do_poplevel.
Combine common code. Don't poplevel when not doing semantic
analysis.
(push_cp_function_context): Don't expand functions without an
explicit call to expand_body.
(mark_lang_function): Make eh_spec_try_block and
x_scope_stmt_stack.
* except.c (expand_end_eh_spec): Don't
declare.
(process_start_catch_block): Likewise.
(push_eh_cleanup): Use finish_decl_cleanup.
(initialize_handler_parm): New function.
(expand_start_catch_block): Use it.
(expand_end_catch_block): Use tree-generation functions, not
RTL-generation functions.
(expand_start_eh_spec): Likewise.
(expand_end_eh_spec): Likewise.
(expand_exception_blocks): Simplify.
(start_anon_func): Use do_pushlevel.
(end_anon_func): Use do_poplvel. Call expand_body for the
function.
* expr.c (do_case): Don't call define_case_label.
* init.c (create_temporary_var): Set DECL_CONTEXT for local
variables.
* method.c (emit_thunk): Call expand_body for the
thunk.
(sythesize_method): Likewise.
* parse.y (handler_args): Give it ttype.
(eat_saved_input): Call expand_body.
(base_init): Use do_pushlevel.
(pending_inline): Call expand_body.
(handler): Adjust calls to finish_handler_parms and
finish_handler.
(handler_args): Don't call expand_start_catch_block. Return the
catch parameter. * pt.c (tsubst_expr): Adjust HANDLER handling.
* parse.c: Regenerated.
* rtti.c (synthesize_tinfo_fn): Call finish_function.
* semantics.c (do_pushlevel): Give it external linkage. Build
SCOPE_STMTs.
(do_poplevel): Likewise.
(finish_case_label): Call define_case_label when doing semantic
analysis.
(finish_goto_stmt): Create RTL for labels.
(finish_function_try_block): Set in_function_try_handler
unconditionally.
(finish_function_handler_sequence): Unset it.
(finish_handler_parms): Use expand_start_catch_block even when
building a statement-tree.
(begin_catch_block): New function.
(finish_handler): Move a little RTL-generation logic here.
(finish_decl_cleanup): Allow cleanups for empty declarations.
(finish_named_return_value): Don't pushdecl when not doing
semantic analysis.
(expand_stmt): Don't do semantic analysis for variable
declarations. Handle START_CATCH_STMT. Call expand_label
directly for a LABEL_STMT. Tweak handling of GOTO_STMT. Adjust
HANDLERs. Handle SCOPE_STMT, CTOR_INITIALIZER, and RETURN_INIT.
(expand_body): Let expand_stmt handle CTOR_INITIALIZER,
RETURN_INIT and function try blocks.
From-SVN: r29490
Mark Mitchell [Fri, 17 Sep 1999 23:45:52 +0000 (23:45 +0000)]
cp-tree.h (language_function): Add x_eh_spec_try_block.
* cp-tree.h (language_function): Add x_eh_spec_try_block. Add
x_scope_stmt_stack. Add x_in_charge_parm.
(current_eh_spec_try_block): New macro.
(current_scope_stmt_stack): Likewise.
(current_in_charge_parm): Likewise.
* decl.c (start_function): Initialize current_in_charge_parm.
(finish_function): Use current_in_charge_parm rather than looking
up __in_chrg.
* search.c (expand_indirect_vtbls_init): Likewise.
From-SVN: r29489
Mark Mitchell [Fri, 17 Sep 1999 23:14:49 +0000 (23:14 +0000)]
cp-tree.def (CLEANUP_STMT): Fix spelling in dumps.
* cp-tree.def (CLEANUP_STMT): Fix spelling in dumps.
(TRY_BLOCK): Likewise.
(HANDLER): Likewise.
(START_CATCH_STMT): New tree node.
(SCOPE_STMT): Likewise.
* cp-tree.h (SCOPE_BEGIN_P): New macro.
(SCOPE_NULLIFIED_P): Likewise.
(struct lang_decl_flags): Add pending_inline_p. Adjust dummy.
(struct lang_decl): Add saved_language_function.
(DECL_PENDING_INLINE_INFO): Adjust documentation.
(DECL_PENDING_INLINE_P): New macro.
(TYPE_TI_ARGS): Fix typo in comment.
(DECL_SAVED_TREE): Add to documentation.
(DECL_SAVED_FUNCTION_DATA): New macro.
(START_CATCH_TYPE): Likewise.
(SCOPE_END_P): New macro.
(declare_parm_level): Don't declare.
* decl.c (mark_lang_function): New function, split out from
mark_cp_function_context.
(save_function_data): New function.
(declare_parm_level): Remove.
(finish_function): Use save_function_data to squirrel away
important stuff for later use.
(mark_cp_function_context): Use mark_function_data.
(lang_mark_tree): Likewise.
* lex.c (begin_definition_of_inclass_inline): Set
DECL_PENDING_INLINE_P.
(store_pending_inline): Clear it.
* pt.c (tsubst_decl): Likewise.
From-SVN: r29488
Mark Mitchell [Fri, 17 Sep 1999 22:18:59 +0000 (22:18 +0000)]
functiion.h (struct function): Add x_whole_function_mode_p.
* functiion.h (struct function): Add x_whole_function_mode_p.
(retrofit_block): Declare.
* function.c (retrofit_block): New function.
(identify_blocks): Add assertions. Allow an incomplete set of
block notes if we're still generating code for the function.
* integrate.c: Include loop.h.
(expand_inline_function): Call find_loop_tree_blocks to map block
notes to blocks when in whole-function mode. Use retrofit_block
to insert new BLOCKs for the inlined function, rather than
insert_block.
* stmt.c (expand_fixup): Likewise. Don't use pushlevel/polevel.
* Makefile.in (integrate.o): Depend on loop.h.
From-SVN: r29487
Mark Mitchell [Fri, 17 Sep 1999 22:13:07 +0000 (22:13 +0000)]
tree.h (warn_about_unused_variables): Declare.
* tree.h (warn_about_unused_variables): Declare.
* stmt.c (warn_about_unused_variables): New function, split out
from ...
(expand_end_bindings): Here.
From-SVN: r29486
Mark Mitchell [Fri, 17 Sep 1999 22:04:28 +0000 (22:04 +0000)]
stmt.c (preserve_subexpressions_p): Don't crash when current_function->stmt is unset.
* stmt.c (preserve_subexpressions_p): Don't crash when
current_function->stmt is unset.
From-SVN: r29485
Mark Mitchell [Fri, 17 Sep 1999 22:01:23 +0000 (22:01 +0000)]
stmt.c (expand_start_bindings): Allow callers to pass a flag indicating that no NOTE_INSN_BLOCK_BEG note is...
* stmt.c (expand_start_bindings): Allow callers to pass a flag
indicating that no NOTE_INSN_BLOCK_BEG note is required.
(expand_start_target_temps): Use it.
* except.c (expand_eh_region_start_for_decl): Likewise.
* expr.c (expand_expr): Likewise.
From-SVN: r29484
Gavin Romig-Koch [Fri, 17 Sep 1999 19:06:50 +0000 (19:06 +0000)]
* fold-const.c (operand_equal_p): Pay attention to side effects.
From-SVN: r29483
Jason Merrill [Fri, 17 Sep 1999 18:54:29 +0000 (14:54 -0400)]
typo
From-SVN: r29482
Jason Merrill [Fri, 17 Sep 1999 18:37:48 +0000 (18:37 +0000)]
libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
* libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
* sparc/sunos4.h (HAVE_ON_EXIT): Remove.
From-SVN: r29481
Jason Merrill [Fri, 17 Sep 1999 18:35:51 +0000 (14:35 -0400)]
new
From-SVN: r29480
Jason Merrill [Fri, 17 Sep 1999 18:35:31 +0000 (18:35 +0000)]
tlink.c (scan_linker_output): Look for keywords before accepting a mangled name in quotes.
* tlink.c (scan_linker_output): Look for keywords before accepting
a mangled name in quotes.
From-SVN: r29479
Nathan Sidwell [Fri, 17 Sep 1999 18:25:54 +0000 (18:25 +0000)]
Revert call.c 1.173 change, do same effect, but more obviously.
* call.c (perform_implicit_conversion): Deal with error_mark_node.
From-SVN: r29478
Mark Mitchell [Fri, 17 Sep 1999 18:15:21 +0000 (18:15 +0000)]
decl.c (warn_extern_redeclared_static): Don't get confused by static member functions.
* decl.c (warn_extern_redeclared_static): Don't get confused by
static member functions.
(duplicate_decls): Merge DECL_THIS_STATIC.
* decl.c (expand_static_init): Make sure assignments to local
statics actually occur.
From-SVN: r29477
Gabriel Dos Reis [Fri, 17 Sep 1999 15:19:20 +0000 (15:19 +0000)]
1999-09017 Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr>
* std/valarray_array.h (__valarray_copy): Fix typo.
From-SVN: r29476
Nathan Sidwell [Fri, 17 Sep 1999 10:59:07 +0000 (10:59 +0000)]
* call.c (perform_implicit_conversion): Deal with error_mark_node.
From-SVN: r29475