Michael Hayes
7ae0297fa4
* config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
...
From-SVN: r29580
1999-09-22 08:00:56 +00:00
Michael Hayes
34de028f1d
c4x.c (c4x_process_after_reload): Rework machdep insn splitting to not use output template.
...
* config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
splitting to not use output template.
From-SVN: r29579
1999-09-22 07:58:01 +00:00
Michael Hayes
634f1f20df
c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
...
* config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
* config/c4x/c4x.c (c4x_va_start): New function.
From-SVN: r29578
1999-09-22 07:53:41 +00:00
Jeff Law
d6db55fede
Daily bump.
...
From-SVN: r29577
1999-09-22 01:45:14 -06:00
Richard Henderson
ace91ff1e6
Typo last change.
...
From-SVN: r29576
1999-09-21 23:53:35 -07:00
Alex Samuel
21a427cca1
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
1999-09-22 05:51:44 +00:00
Bryce McKinlay
5ab00e275b
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
1999-09-22 05:41:26 +01:00
Jan Hubicka
00ec6daa3c
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
1999-09-21 18:40:28 -07:00
Jason Merrill
35cc13e4b6
remove check_lang_option prototype
...
From-SVN: r29572
1999-09-21 20:35:28 -04:00
Jason Merrill
2a135ded8c
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
1999-09-21 20:30:34 -04:00
Tom Tromey
707f5f6d45
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
1999-09-21 23:20:43 +00:00
Tom Tromey
5057b5e8d1
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
1999-09-21 23:01:23 +00:00
Kaveh R. Ghazi
1eb1464424
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
1999-09-21 22:31:29 +00:00
Kaveh R. Ghazi
f5db61ef0b
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
1999-09-21 22:28:47 +00:00
Tom Tromey
49d385e3cd
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
1999-09-21 21:35:41 +00:00
Richard Henderson
336a6399a9
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
1999-09-21 14:15:37 -07:00
Mark Mitchell
9f14fb6404
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
1999-09-21 20:32:44 +00:00
Mark Mitchell
e88d975c08
* g++.dg/ecos.exp: Don't supply -finit-priority to cc1plus.
...
From-SVN: r29563
1999-09-21 20:27:48 +00:00
Mark Mitchell
69ca76581e
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
1999-09-21 20:19:18 +00:00
Martin v. Löwis
54965141fb
New test case.
...
From-SVN: r29561
1999-09-21 19:51:16 +00:00
Tom Tromey
118a6ea134
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
1999-09-21 19:49:13 +00:00
Martin v. Löwis
32facac808
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
1999-09-21 19:49:04 +00:00
Martin v. Löwis
0fb6bbf56e
extend.texi (Bound member functions): Document unbound pmf conversion.
...
* extend.texi (Bound member functions): Document unbound pmf
conversion.
From-SVN: r29558
1999-09-21 19:34:59 +00:00
Martin v. Löwis
7936455a2c
extend.texi (Bound member functions): Document unbound pmf conversion.
...
* extend.texi (Bound member functions): Document unbound pmf
conversion.
From-SVN: r29557
1999-09-21 19:34:55 +00:00
Andrew MacLeod
abb14ef57e
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
1999-09-21 18:57:12 +00:00
Andrew MacLeod
87fdf7fff0
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
1999-09-21 18:54:34 +00:00
Andrew MacLeod
04fc632494
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
1999-09-21 18:52:37 +00:00
Alex Samuel
f3cdb9c694
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
1999-09-21 18:14:26 +00:00
Alex Samuel
5c7261ab87
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
1999-09-21 18:09:54 +00:00
Nick Clifton
3e3f78a69b
Add FR30 to list of targets for which -fpic is inappropriate.
...
From-SVN: r29551
1999-09-21 16:42:20 +00:00
Alexandre Petit-Bianco
b771925e7e
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
1999-09-21 08:53:23 -07:00
Nick Clifton
309dd885ff
Add FR30 port.
...
From-SVN: r29549
1999-09-21 15:21:17 +00:00
Nick Clifton
09b5f8bf2f
Add FR30 target.
...
From-SVN: r29548
1999-09-21 15:17:53 +00:00
Toon Moene
ea219ef04f
* g77spec.c (lang_specific_driver): Initialise return value.
...
From-SVN: r29547
1999-09-21 09:10:06 -06:00
Nathan Sidwell
34d257b13c
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
1999-09-21 15:00:41 +00:00
Jeffrey A Law
8288909fc3
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
1999-09-21 08:47:23 -06:00
Nathan Sidwell
4a9e5c6725
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
1999-09-21 14:40:13 +00:00
Jeffrey A Law
e36e6e0261
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
1999-09-21 07:48:59 -06:00
Jeffrey A Law
e151ac883e
* pa.c (pa_add_gc_roots): Fix thinko in last change.
...
From-SVN: r29542
1999-09-21 06:48:36 -06:00
Richard Earnshaw
46826921eb
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
1999-09-21 05:31:14 -06:00
Alex Samuel
acfaa91e95
Add myself to the list.
...
From-SVN: r29540
1999-09-21 08:53:52 +00:00
Mark Mitchell
9f52c201b7
Force check-in to ensure that it is up to date.
...
From-SVN: r29539
1999-09-21 07:45:38 +00:00
Jeff Law
c0a3450d59
Daily bump.
...
From-SVN: r29538
1999-09-21 01:45:11 -06:00
Mark Mitchell
bce9471e0c
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
1999-09-21 07:41:01 +00:00
Alexandre Oliva
5ba57b5522
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
1999-09-21 04:06:31 +00:00
Alexandre Oliva
a7e1e2acfd
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
1999-09-21 04:04:16 +00:00
Alexandre Oliva
0c723adada
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
1999-09-21 00:55:08 +00:00
Mark Mitchell
447cfcb9e1
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
1999-09-20 21:26:06 +00:00
Mark Mitchell
ea003f6d7c
* invoke.texi (-fthis-is-variable): Remove documentation.
...
From-SVN: r29532
1999-09-20 20:24:42 +00:00
Mark Mitchell
9bfadf57a2
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
1999-09-20 20:19:04 +00:00