Tom Tromey
db70b4bd91
natThrowable.cc: Don't use `#pragma implementation'.
...
* java/lang/natThrowable.cc: Don't use `#pragma implementation'.
From Bryce McKinlay.
From-SVN: r31505
2000-01-19 18:59:27 +00:00
Tom Tromey
7c734b1758
* All files: Updated copyright to reflect Cygnus purchase.
...
From-SVN: r31504
2000-01-19 18:39:27 +00:00
Tom Tromey
ec39b14af2
* libjava.compile/inner_pub.java: New file.
...
From-SVN: r31503
2000-01-19 17:28:32 +00:00
Gabriel Dos Reis
7e4d789838
decl2.c (lang_decode_option): Set default line-wrap length to 72.
...
2000-01-19 Gabriel Dos Reis <gdr@codesourcery>
* decl2.c (lang_decode_option): Set default line-wrap length to 72.
* typeck.c (composite_pointer_type, common_type,
comp_target_parms, c_sizeof, expr_sizeof, build_array_ref,
build_function_call_real, convert_arguments,
build_binary_op_nodefault, pointer_int_sum, pointer_diff,
build_unary_op, mark_addressable, build_compound_expr,
build_static_cast, build_reinterpret_cast, build_const_cast,
build_c_cast, build_modify_expr, get_delta_difference,
build_ptrmemfunc, check_return_expr): Replace 'ANSI C++' with
'ISO C++'. Fusion consecutive calls to diagnotic message routines
into a single one.
* typeck2.c (readonly_error, abstract_virtuals_error,
process_init_constructor, check_for_new_type): Likewise.
From-SVN: r31502
2000-01-19 11:34:03 +00:00
Michael Hayes
cfef86e454
loop.c (current_loop_info): Renamed from loop_info_data and changed to a pointer.
...
* loop.c (current_loop_info): Renamed from loop_info_data
and changed to a pointer.
(loop_optimize): Allocate loop_info structure for each loop
and initialise to zero.
(scan_loop): Set current_loop_info.
* unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
on iteration_var.
From-SVN: r31501
2000-01-19 11:19:20 +00:00
Michael Hayes
e4b68cedfd
loop.c
...
From-SVN: r31500
2000-01-19 11:17:13 +00:00
Richard Henderson
d29c259b71
stupid.c: Die die die.
...
* stupid.c: Die die die.
* Makefile.in (OBJS): Remove stupid.o.
(stupid.o): Likewise.
* except.c (emit_eh_context): Don't emit USEs for stupid.
* explow.c (probe_stack_range): Likewise.
* flags.h (obey_regdecls): Remove.
* flow.c (find_basic_blocks): Don't run try_merge_blocks
when not optimizing.
(life_analysis): Limit data collection when not optimizing.
(mark_regs_live_at_end): Always mark the return value registers.
(mark_used_regs): Remove dummy RETURN case.
(print_rtl_with_bb): Don't consult obey_regdecls.
* function.c (use_variable, use_variable_after): Remove.
(assign_parms): Consult optimize not obey_regdecls.
(expand_function_start): Don't emit USEs for stupid.
(expand_function_end): Likewise.
* global.c (build_insn_chain): Export.
* integrate.c (expand_inline_function): Kill return-value USE
handling code.
* jump.c (jump_optimize_1): Do simple jump optimizations and
dead code elimination.
(calculate_can_reach_end): Remove check_deleted argument.
(delete_insn): Patch out insns even when not optimizing.
* local-alloc.c (block_alloc): Don't do tying when not optimizing.
* rtl.h (use_variable, use_variable_after): Remove declarations.
(build_insn_chain): Declare.
* stmt.c (expand_value_return): Don't emit USEs for stupid.
(expand_end_bindings): Likewise.
(expand_decl): Likewise. Consult optimize not obey_regdecls.
* toplev.c (obey_regdecls): Remove.
(rest_of_compilation): Don't set it. Kill stupid in favour of
flow1, local-alloc, and reload.
(main): Don't set obey_regdecls.
* config/nextstep.c (handle_pragma): Likewise.
* alpha/alpha.md (allocate_stack): Don't emit USEs for stupid.
* arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid.
From-SVN: r31499
2000-01-19 01:42:11 -08:00
Mark Mitchell
301e21af2c
tree.c (bot_manip): Set DECL_CONTEXT for newly created VAR_DECLs.
...
* tree.c (bot_manip): Set DECL_CONTEXT for newly created
VAR_DECLs.
From-SVN: r31498
2000-01-19 09:04:41 +00:00
Jeff Law
1455913a0b
Daily bump.
...
From-SVN: r31497
2000-01-19 01:45:07 -07:00
Bryce McKinlay
f7ccaa38a7
configure: Rebuilt.
...
2000-01-18 Bryce McKinlay <bryce@albatross.co.nz>
* configure: Rebuilt.
* configure.in: Recognize --disable-interpreter.
From-SVN: r31496
2000-01-19 05:06:03 +00:00
Kaveh R. Ghazi
f6da8bc3ee
alpha-protos.h: PROTO -> PARAMS.
...
* alpha-protos.h: PROTO -> PARAMS.
* alpha.c: Likewise.
* elf.h: Likewise.
* h8300.c: Likewise.
* i386-protos.h: Likewise.
* i386.c: Likewise.
* m32r-protos.h: Likewise.
* m32r.c: Likewise.
* mips.c: Likewise.
* mips.md: Likewise.
* gmon-sol2.c: Likewise.
* sparc.c: Likewise.
From-SVN: r31495
2000-01-18 23:44:36 +00:00
Kaveh R. Ghazi
fabf04b6e0
ns32k-protos.h: New file.
...
* ns32k-protos.h: New file.
* ns32k.c: Fix compile time warnings.
* ns32k.h: Move prototypes to ns32k-protos.h. Fix compile time
warnings.
* ns32k.md: Likewise.
From-SVN: r31494
2000-01-18 23:06:06 +00:00
Kaveh R. Ghazi
2fd58acb35
vax-protos.h: New file.
...
* vax-protos.h: New file.
* vax.c: Fix compile time warnings.
* vax.h: Move prototypes to vax-protos.h. Fix compile time
warnings.
* vax.md: Likewise.
* vaxv.md: Likewise.
From-SVN: r31493
2000-01-18 23:02:03 +00:00
Kaveh R. Ghazi
13d516d91a
romp-protos.h: New file.
...
* romp-protos.h: New file.
* romp.c: Fix compile time warnings.
* romp.h: Move prototypes to romp-protos.h. Fix compile time
warnings.
* romp.md: Likewise.
From-SVN: r31492
2000-01-18 22:59:40 +00:00
Kaveh R. Ghazi
253f1045a1
we32k-protos.h: New file.
...
* we32k-protos.h: New file.
* we32k.c: Fix compile time warnings.
* we32k.h: Move prototypes to we32k-protos.h. Fix compile time
warnings.
From-SVN: r31491
2000-01-18 22:56:37 +00:00
Kaveh R. Ghazi
962f1324bd
calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
...
* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
* except.c (eh_regs): Likewise.
* final.c (output_operand): Likewise.
* fold-const.c (target_isinf, target_isnan): Likewise.
From-SVN: r31490
2000-01-18 22:45:16 +00:00
Jan Hubicka
17f24ff04d
i386.h (BIGGEST_ALIGNMENT): Set to 128.
...
* i386.h (BIGGEST_ALIGNMENT): Set to 128.
(BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
From-SVN: r31489
2000-01-18 16:06:54 +00:00
Jan Hubicka
e2e52e1be7
i386.md (memstr): Do not use rep stosb for counts divisible by 4 when optimize_size.
...
* i386.md (memstr): Do not use rep stosb for counts divisible by 4
when optimize_size.
(clrstrsi): Rewrite.
(strsethi, strsetqi): New expanders.
(strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
(cmpstrsi): Emit compare insn before cmpstrsi_1
(cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
(strlensi_1): Likewise.
(cmpstrsi_1): Likewise; do not output compare.
(strlen expander): Do not unroll when optimizing for size.
(*subsi3_carry): Rename to subsi3_carry
(addqi3_cc): New pattern.
* i386.h (processor_costs): Add move_ratio field.
(MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
* i386.c (*_cost): Set move_ratio.
(x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
(x86_expand_strlensi_1): Rewrite the main loop.
From-SVN: r31488
2000-01-18 15:25:05 +00:00
Andrew Haley
b9f243c201
name-finder.cc (lookup): Check for dladdr function.
...
2000-01-18 Andrew Haley <aph@cygnus.com>
* name-finder.cc (lookup): Check for dladdr function.
acconfig.h (HAVE_DLADDR): Add.
configure.in: Check for HAVE_DLADDR
configure: Rebuilt.
include/config.h.in: Rebuilt.
From-SVN: r31487
2000-01-18 14:42:14 +00:00
Andrew Haley
0447654432
prims.cc (_Jv_RunMain): Set the name of this executable.
...
2000-01-17 Andrew Haley <aph@cygnus.com>
* prims.cc (_Jv_RunMain): Set the name of this executable.
From-SVN: r31486
2000-01-18 14:37:34 +00:00
Nathan Sidwell
e5f614d777
cp-tree.h (get_tinfo_fn_dynamic): Remove prototype.
...
* cp-tree.h (get_tinfo_fn_dynamic): Remove prototype.
(build_x_typeid): Likewise.
(get_tinfo_fn): Likewise.
(get_tinfo_fn_unused): Rename to ...
(get_tinfo_decl): ... here.
* rtti.c (build_headof): Replace logic error with assertion.
(get_tinfo_fn_dynamic): Rename to ...
(get_tinfo_decl_dynamic): ... here. Make static. Use
complete_type_or_else.
(build_x_typeid): Move into ...
(build_typeid): ... here. Adjust call to
get_tinfo_decl_dynamic. Use tinfo_from_decl. Simplify
throw_bad_typeid expression.
(get_tinfo_fn_unused): Rename to ...
(get_tinfo_decl): ... here. Adjust comment.
(get_tinfo_fn): Delete.
(tinfo_from_decl): New static function.
(get_typeid_1): Call get_tinfo_decl and tinfo_from_decl.
(get_typeid): Use complete_type_or_else.
(build_dynamic_cast_1): Adjust calls to
get_tinfo_decl_dynamic. Simplify throw_bad_cast expression.
* parse.y (primary): Adjust call to build_typeid.
* except.c (build_eh_type_type_ref): Adjust call to
get_tinfo_decl. Mark as used.
* class.c (set_rtti_entry): Adjust call to get_tinfo_decl.
* decl2.c (build_expr_from_tree): Adjust call to build_typeid.
* parse.c: Regenerated.
From-SVN: r31485
2000-01-18 10:23:31 +00:00
Jeff Law
c399e76da6
Daily bump.
...
From-SVN: r31484
2000-01-18 01:45:07 -07:00
Tom Tromey
d269d25cd3
natThrowable.cc (fillInStackTrace): Return `this' even when backtrace can't be computed.
...
* java/lang/natThrowable.cc (fillInStackTrace): Return `this' even
when backtrace can't be computed.
From-SVN: r31483
2000-01-18 06:22:13 +00:00
Tom Tromey
4f5a5d5cdb
configure: Rebuilt.
...
* configure: Rebuilt.
* configure.in: Fixed typo in AC_CONFIG_SUBDIRS call.
From-SVN: r31482
2000-01-18 05:33:35 +00:00
Mark Mitchell
97d953bb76
class.c (fixed_type_or_null): Don't clear NONNULL.
...
* class.c (fixed_type_or_null): Don't clear NONNULL. Document
calling convention.
(resolves_to_fixed_type_p): Document calling convention.
* rtti.c (build_x_typeid): Initialize NONNULL.
From-SVN: r31481
2000-01-18 04:52:50 +00:00
Richard Henderson
12530dbee3
combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
...
* combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
* cse.c (find_comparison_args, fold_rtx): Likewise.
* integrate.c (subst_constants): Likewise.
* loop.c (get_condition): Likewise.
* tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs.
* alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF.
From-SVN: r31479
2000-01-17 16:30:17 -08:00
Martin v. Löwis
101e59f492
c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.
...
* c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.
(RESTORE_WARN_FLAGS): Unpack it.
Change semantic type of extension to ttype.
* c-common.c (split_specs_attrs): Expect an INTEGER_CST.
* c-parse.y, c-parse.c, objc/objc-parse.y,
objc/objc-parse.c: Regenerate.
From-SVN: r31478
2000-01-18 00:01:06 +00:00
Joerg Brunsmann
18990de52b
re GNATS gcj/128 (weak error message when expecting final modifier)
...
Mon Jan 17 11:58:17 2000 Joerg Brunsmann <joerg.brunsmann@fernuni-hagen.de>
* parse.y (format_parameter:): Use final: rule instead of modifiers:.
(final:): New rule.
Joerg Brunsmann's contribution to fix the Java PR #128 .
From-SVN: r31477
2000-01-17 14:54:30 -08:00
Mark Mitchell
a68ad5bdee
cp-tree.h (build_shared_int_cst): New function.
...
* cp-tree.h (build_shared_int_cst): New function.
* call.c (build_over_call): Use DECL_VIRTUAL_CONTEXT, for clarity.
* class.c (modify_vtable_entry): Likewise.
(add_virtual_function): Split out code to generated shared
INTEGER_CSTs to build_share_int_cst.
(modify_all_vtables): Handle all the overridden functions here.
Add overridden functions from non-primary virtual bases to the
primary vtable.
(finish_struct_1): Adjust call to modify_all_vtables. Add
overridden functions from non-primary bases to the vtable.
* tree.c (build_shared_int_cst): New function.
From-SVN: r31476
2000-01-17 22:54:23 +00:00
Zack Weinberg
e41e26be41
Oops, forgot to save ChangeLog on previous commit
...
From-SVN: r31475
2000-01-17 21:46:23 +00:00
Zack Weinberg
b51207a4d2
fixlib.c: Add copyright notice.
...
* fixinc/fixlib.c: Add copyright notice.
(compile_re): New function.
* fixinc/fixlib.h: Prototype compile_re.
* fixinc/fixfixes.c, fixinc/fixtests.c, fixinc/fixincl.c:
Use compile_re to compile regular expressions.
* fixinc/fixincl.c (egrep_test): Don't bother asking regexec
where the pattern matched.
* fixinc/inclhack.def (sun_memcpy): Move to AAB_sun_memcpy,
use 'replace'.
(ultrix_ansi_compat): Likewise.
(interactv_add1): Rename to 'isc_omits_with_stdc', remove shell test,
add egrep test.
(interactv_add2, interactv_add3): Delete.
(x11_sprintf): Don't use filename glob.
* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixincl.sh:
Regenerate.
From-SVN: r31474
2000-01-17 21:45:29 +00:00
Mark Mitchell
051e6fd745
cp-tree.h (scratchalloc): Remove.
...
* cp-tree.h (scratchalloc): Remove.
(build_scratch_list): Likewise.
* call.c (convert_class_to_reference): Replace build_scratch_list
and build_expr_list with build_tree_list.
(add_candidate): Replace scratchalloc with expralloc. Note memory
leak.
(build_user_type_conversion_1): Replace build_scratch_list
and build_expr_list with build_tree_list.
(build_new_op): Likewise.
(build_op_delete_call): Likewise.
(convert_like): Likewise.
* cvt.c (ocp_convert): Likewise.
* decl.c (start_decl): Likewise.
(start_function): Likewise.
(finish_destructor_body): Likewise.
(maybe_build_cleanup_1): Likewise.
* decl2.c (reparse_decl_as_expr): Likewise.
* init.c (perform_member_init): Likewise.
(expand_cleanup_for_base): Likewise.
(build_builtin_delete_call): Likewise.
(build_new_1): Likewise.
(build_delete): Likewise.
* method.c (do_build_assign_ref): Likewise.
* parse.y (already_scoped_stmt): Likewise.
(nontrivial_exprlist): Likewise.
(net_initializer): Likewise.
(initlist): Likewise.
* parse.c: Regenerated.
* rtti.c (build_x_typeid): Likewise.
(build_dynamic_cast_1): Likewise.
* typeck.c (build_x_compound_expr): Likewise.
(build_static_cast): Likewise.
(build_modify_expr): Likewise.
* cp-tree.h (DECL_VINDEX): Add documentation.
* class.c (build_vtable_entry): Likewise.
(start_vtable): Add comment.
(add_virtual_function): Replace pending_hard_virtuals with
overridden_virtuals and pending_virtuals with new_virtuals.
Replace redundant assignments with assertions.
(check_for_override): Add comment.
(check_bases_and_members): Replace pending_hard_virtuals with
overridden_virtuals and pending_virtuals with new_virtuals.
(create_vtbl_ptr): Likewise.
(layout_class_type): Likewise.
(finish_struct_1): Likewise. Add comments.
From-SVN: r31473
2000-01-17 20:18:43 +00:00
Tom Tromey
7af8555855
Runtime.java (loadLibraryInternal): Declare.
...
* java/lang/Runtime.java (loadLibraryInternal): Declare.
* java/lang/natClassLoader.cc (_Jv_FindClass): Removed dead copy.
(_Jv_FindClassInCache): Likewise.
(_Jv_FindClass): Don't conditionalize body on INTERPRETER.
(findSystemClass): Try to load class from compiled module.
Include Runtime.h.
* java/lang/natRuntime.cc (load): Use UTF-8 copy of filename.
(loadLibrary): Likewise.
(lt_preloaded_symbols): Define.
(loadLibraryInternal): New method.
* include/config.h.in: Rebuilt.
* acconfig.h (USE_LTDL): Added.
* Makefile.am (SUBDIRS): Added $(DIRLTDL).
(INCLUDES): Added $(INCLTDL).b
(libgcj_la_DEPENDENCIES): Added $(LIBLTDL).
(libgcj_la_LIBADD): Likewise.
* aclocal.m4, configure: Rebuilt.
* configure.in: Added libltdl support.
From-SVN: r31472
2000-01-17 19:22:20 +00:00
Tom Tromey
06f5673716
Initial revision
...
From-SVN: r31468
2000-01-17 19:00:44 +00:00
Tom Tromey
451f21ef2d
* prims.cc (_Jv_PrimClass): Use JV_STATE_NOTHING', not
0'.
...
From-SVN: r31467
2000-01-17 18:56:43 +00:00
Tom Tromey
9b4579b3bb
* gjavah.c (print_field_info): Allow non-static final fields.
...
From-SVN: r31466
2000-01-17 18:25:37 +00:00
Kaveh Ghazi
9311a396bc
Update copyrights
...
From-SVN: r31465
2000-01-17 17:16:21 +00:00
Kaveh Ghazi
56bcf273a9
Update copyrights
...
From-SVN: r31464
2000-01-17 16:49:30 +00:00
Kaveh R. Ghazi
957e47632b
print-rtl.c: PROTO -> PARAMS.
...
* print-rtl.c: PROTO -> PARAMS.
* real.c: Likewise.
* reg-stack.c: Likewise.
* resource.c: Likewise.
* sdbout.h: Likewise.
* simplify-rtx.c: Likewise.
* stor-layout.c: Likewise.
* stupid.c: Likewise.
* xcoffout.c: Likewise.
* xcoffout.h: Likewise.
From-SVN: r31463
2000-01-17 16:01:04 +00:00
Kaveh R. Ghazi
58782098af
toplev.c: PROTO -> PARAMS.
...
* toplev.c: PROTO -> PARAMS.
* toplev.h: Likewise.
* tree.c: Likewise.
* tree.h: Likewise.
* unroll.c: Likewise.
* varasm.c: Likewise.
* varray.c: Likewise.
* varray.h: Likewise.
From-SVN: r31462
2000-01-17 15:55:18 +00:00
Kaveh R. Ghazi
cdadb1dda0
reload.c: PROTO -> PARAMS.
...
* reload.c: PROTO -> PARAMS.
* reload.h: Likewise.
* reload1.c: Likewise.
* reorg.c: Likewise.
* resource.h: Likewise.
* rtl.c: Likewise.
* rtl.h: Likewise.
* rtlanal.c: Likewise.
* sbitmap.h: Likewise.
* sdbout.c: Likewise.
* stack.h: Likewise.
* stmt.c: Likewise.
* system.h: Likewise.
From-SVN: r31461
2000-01-17 15:47:29 +00:00
Andrew Haley
283a159fe3
natThrowable.cc: New file.
...
2000-01-14 Andrew Haley <aph@cygnus.com>
* java/lang/natThrowable.cc: New file.
* java/lang/Throwable.java (fillInStackTrace): Make native.
(printStackTrace): Call native method to do this.
(Throwable): Call fillInStackTrace.
(stackTrace): New variable.
* include/jvm.h: Add _Jv_ThisExecutable functions.
* prims.cc: (_Jv_execName): New variable.
(catch_segv): Call fillInStackTrace.
(catch_fpe): Ditto.
(_Jv_ThisExecutable): New functions.
(JvRunMain): Set the name of this executable.
* Makefile.am: Add java/lang/natThrowable.cc.
Add name-finder.cc.
* Makefile.in: Rebuilt.
* acconfig.h: Add HAVE_PROC_SELF_EXE.
* configure.in: Force link with __frame_state_for in
FORCELIBGCCSPEC. Add new checks for backtrace.
* include/config.h.in: Rebuilt.
* name-finder.cc: New file.
* include/name-finder.h: New file.
From-SVN: r31460
2000-01-17 15:45:24 +00:00
Kaveh R. Ghazi
1353681247
machmode.h: PROTO -> PARAMS.
...
* machmode.h: PROTO -> PARAMS.
* mbchar.h: Likewise.
* mips-tdump.c: Likewise.
* mips-tfile.c: Likewise.
* optabs.c: Likewise.
* output.h: Likewise.
* prefix.c: Likewise.
* profile.c: Likewise.
* protoize.c: Likewise.
* real.h: Likewise.
* recog.c: Likewise.
* recog.h: Likewise.
* regclass.c: Likewise.
* regmove.c: Likewise.
* regs.h: Likewise.
From-SVN: r31459
2000-01-17 15:37:04 +00:00
Kaveh R. Ghazi
3fe41456ed
ggc-common.c: PROTO -> PARAMS.
...
* ggc-common.c: PROTO -> PARAMS.
* ggc-page.c: Likewise.
* ggc-simple.c: Likewise.
* ggc.h: Likewise.
* global.c: Likewise.
* graph.c: Likewise.
* gthr-win32.h: Likewise.
* haifa-sched.c: Likewise.
* halfpic.h: Likewise.
* integrate.c: Likewise.
* integrate.h: Likewise.
* jump.c: Likewise.
* lcm.c: Likewise.
* local-alloc.c: Likewise.
* loop.c: Likewise.
* loop.h: Likewise.
From-SVN: r31458
2000-01-17 15:28:05 +00:00
Kaveh R. Ghazi
a94ae8f5dd
genattr.c: PROTO -> PARAMS.
...
* genattr.c: PROTO -> PARAMS.
* genattrtab.c: Likewise.
* gencheck.c: Likewise.
* gencodes.c: Likewise.
* genconfig.c: Likewise.
* genemit.c: Likewise.
* genextract.c: Likewise.
* genflags.c: Likewise.
* gengenrtl.c: Likewise.
* genopinit.c: Likewise.
* genoutput.c: Likewise.
* genpeep.c: Likewise.
* genrecog.c: Likewise.
From-SVN: r31457
2000-01-17 15:17:38 +00:00
Kaveh R. Ghazi
3b0d91ff92
* All files: PROTO -> PARAMS.
...
From-SVN: r31456
2000-01-17 14:51:05 +00:00
Jeff Law
9771524624
Daily bump.
...
From-SVN: r31455
2000-01-17 01:45:06 -07:00
Mark Mitchell
1eb4bea9e9
class.c (finish_struct_1): Replace redundant code with assertions.
...
* class.c (finish_struct_1): Replace redundant code with
assertions.
From-SVN: r31454
2000-01-17 05:12:39 +00:00
Mark Mitchell
39ac3e4f68
* tree.h (BINFO_VPTR_FIELD): Augment documentation.
...
From-SVN: r31453
2000-01-17 04:15:50 +00:00
Mark Mitchell
bbd15aac6f
cp-tree.h (flag_new_abi): Move.
...
* cp-tree.h (flag_new_abi): Move.
(flag_use_cxa_atexit): Likewise.
(flag_honor_std): Likewise.
(flag_rtti): Likewise.
(vbase_offsets_in_vtable_p): Define.
(vptrs_present_everywhere_p): Likewise.
(TYPE_CONTAINS_VPTR_P): Likewise.
(dfs_walk_real): Declare.
* class.c (build_vbase_pointer_fields): Check
vbase_offsets_in_vtable_p.
(dfs_build_vbase_offset_vtbl_entries): Record the vbase indices in
BINFO_VPTR_FIELD.
(build_vbase_offset_vtbl_entries): Simplify.
(build_vbase_offset_vtbl_entries): Adjust.
(build_vbase_pointer): Add ability to look up vbase offsets in
vtable.
(start_vtable): New function.
(add_virtual_function): Use it.
(determine_primary_base): Use TYPE_CONTAINS_VPTR_P.
(num_extra_vtbl_entries): Use vbase_offsets_in_vtable_p.
(build_vtbl_initializer): Take the type of the complete object as
input. Use it to correctly calculate vbase offsets.
(dfs_finish_vtbls): Pass the complete type to
build_vtbl_initializer.
(check_bases_and_members): Use TYPE_CONTAINS_VPTR_P.
(create_vtable_ptr): Create a vtable even if there are no
new virtual functions, under the new ABI.
(finish_struct_1): Likewise.
(get_vfield_name): Use TYPE_CONTAINS_VPTR_P.
* decl.c (exapnd_static_init): Remove call to
preserve_initializer.
* decl2.c (mark_vtable_entries): Tweak to handle vbase offsets in
vtables.
* init.c (initialize_vtbl_ptrs): Initialize them in pre-order.
(expand_virtual_init): Use vbase_offsets_in_vtable_p.
(construct_virtual_bases): Don't initialize virtual base pointers
under the new ABI.
(build_aggr_init): Clean up comment.
(expand_aggr_init_1): Likewise.
* rtti.c (expand_class_desc): Store the virtual function table
index where the vbase offset lives in the offset field.
* search.c (dfs_walk_real): Make it global.
(dfs_debug_mark): Use TYPE_CONTAINS_VPTR_P.
* tree.c (make_binfo): Don't clear BINFO_VPTR_FIELD.
* tinfo.h (USItype): Make it signed under the new ABI.
* tinfo.cc (convert_to_base): New function. Encapsulate base
conversion logic here.
(__class_type_info::do_upcast): Use it.
(__class_type_info::do_dyncast): Likewise.
(__class_type_info::do_find_public_subobj): Likewise.
From-SVN: r31452
2000-01-17 04:08:01 +00:00