Commit Graph

26747 Commits

Author SHA1 Message Date
Anthony Green
da1ee10da1 New test code.
From-SVN: r32336
2000-03-05 07:25:14 +00:00
Mark Mitchell
7470e8d74c function.h (struct sequence_stack): Remove rtl_expr.
* function.h (struct sequence_stack): Remove rtl_expr.
	(struct emit_staus): Likewise.
	(seq_rtl_expr): Remove.
	* tree.h (free_temps_for_rtl_expr): Don't declare.
	(start_sequence_for_rtl_expr): Likewise.
	* rtl.h (preserve_rtl_expr_result): Likewise.
	* emit-rtl.c (start_sequence): Don't set sequence_rtl_expr.
	(start_sequence_for_rtl_expr): Remove.
	(push_topmost_sequence): Don't save sequence_rtl_expr.
	(pop_topmost_sequence): Remove comment about not restoring it.
	(end_sequence): Don't set seq_rtl_expr.
	(init_emit): Don't initialize it.
	(mark_sequence_stack): Don't mark it.
	(mark_emit_status): Likewise.
	* except.c (protect_with_terminate): Use
	start_sequence_for_rtl_expr, not start_sequence.
	* expr.c (expand_expr, case RTL_EXPR): Don't call
	preserve_rtl_expr_result or free_temps_for_rtl_expr.
	* function.c (assign_stack_temp_for_type): Don't set rtl_expr.
	(preserve_rtl_expr_result): Remove.
	(free_temps_for_rtl_expr): Likewise.
	(pop_temp_slots): Likewise.
	(mark_temp_slot): Don't mark the rtl_expr.
	* stmt.c (expand_start_stmt_expr): Use start_sequence, not
	start_sequence_for_rtl_expr.

From-SVN: r32335
2000-03-05 03:43:58 +00:00
Thomas Schuster
40546a785b * regmove.c (copy_src_to_dest) Do not create src->dest move
for unchanging destination.

From-SVN: r32334
2000-03-05 02:02:09 +00:00
Mark Mitchell
08d0be2f4c function.h (struct sequence_stack): Remove rtl_expr.
* function.h (struct sequence_stack): Remove rtl_expr.
	(struct emit_staus): Likewise.
	(seq_rtl_expr): Remove.
	* tree.h (free_temps_for_rtl_expr): Don't declare.
	(start_sequence_for_rtl_expr): Likewise.
	* rtl.h (preserve_rtl_expr_result): Likewise.
	* emit-rtl.c (start_sequence): Don't set sequence_rtl_expr.
	(start_sequence_for_rtl_expr): Remove.
	(push_topmost_sequence): Don't save sequence_rtl_expr.
	(pop_topmost_sequence): Remove comment about not restoring it.
	(end_sequence): Don't set seq_rtl_expr.
	(init_emit): Don't initialize it.
	(mark_sequence_stack): Don't mark it.
	(mark_emit_status): Likewise.
	* except.c (protect_with_terminate): Use
	start_sequence_for_rtl_expr, not start_sequence.
	* expr.c (expand_expr, case RTL_EXPR): Don't call
	preserve_rtl_expr_result or free_temps_for_rtl_expr.
	(assign_stack_temp_for_type): Don't set rtl_expr.
	(preserve_rtl_expr_result): Remove.
	(free_temps_for_rtl_expr): Likewise.
	(pop_temp_slots): Likewise.
	(mark_temp_slot): Don't mark the rtl_expr.
	* stmt.c (expand_start_stmt_expr): Use start_sequence, not
	start_sequence_for_rtl_expr.

From-SVN: r32333
2000-03-05 01:57:10 +00:00
Jason Merrill
5f12e98764 declare dwarf2out_ignore_block
From-SVN: r32332
2000-03-04 19:09:22 -05:00
Tom Tromey
5830574a16 Makefile.in (JAVA_OBJS): Added boehm.o.
* Makefile.in (JAVA_OBJS): Added boehm.o.
	(boehm.o): New target.
	* Make-lang.in (JAVA_SRCS): Added boehm.c.
	* java-tree.h (flag_use_boehm_gc): Declare.
	(get_boehm_type_descriptor): Declare.
	* lang.c (lang_f_options): Added `use-boehm-gc'.
	(flag_use_boehm_gc): New global.
	* lang-options.h: Added -fuse-boehm-gc.
	* boehm.c: New file.
	* class.c (get_dispatch_table): If class uses a Boehm type
	descriptor, put it in the vtable.
	(make_class_data): Removed dead code.

From-SVN: r32331
2000-03-04 22:27:35 +00:00
Anthony Green
0f9c645ea5 configure: Rebuilt.
* configure: Rebuilt.
	      * configure.in (ZLIBTESTSPEC): New macro.
	      (GCTESTSPEC): New macro.
        (LIBGCJTESTSPEC): New macro.
        * libgcj-test.spec.in: New file.

From-SVN: r32330
2000-03-04 21:50:19 +00:00
Zack Weinberg
49e6c08e21 mkdeps.c, mkdeps.h: New files.
* mkdeps.c, mkdeps.h: New files.
	* po/POTFILES.in: Add them.
	* Makefile.in (LIBCPP_OBJS): Add mkdeps.o.
	(cpplib.o, cppinit.o): Depend on mkdeps.h.
	(mkdeps.o): New target.

	* cppfiles.c: Delete deps_output.
	* cppinit.c: Include mkdeps.h.  Delete known_suffixes,
	OBJECT_SUFFIX, and base_name.
	(cpp_cleanup): Use deps_free.  Free ihash->name when clearing
	the include hash.
	(initialize_dependency_output): Use deps_init,
	deps_add_target, deps_calc_target, and deps_add_dep.  Remove
	all the unnecessary string bashing.
	(cpp_finish): Use deps_write.  Remove an unnecessary nesting
	level.
	* cpplib.c (do_include): Use deps_add_dep.
	* cpplib.h (struct cpp_reader): Replace deps_buffer,
	deps_allocated_size, deps_size, deps_column members with
	single pointer to a struct deps.  Delete prototype of
	deps_output.

From-SVN: r32329
2000-03-04 19:42:04 +00:00
Per Bothner
4a7f193558 * decl.c (init_decl_processing): Initialize sizetype properly.
From-SVN: r32328
2000-03-04 10:27:48 -08:00
Zack Weinberg
c649121029 * cppinit.c: Fix thinko in previous patch.
From-SVN: r32327
2000-03-04 17:53:04 +00:00
Richard Kenner
72c602fc01 machmode.h (mode_for_size, [...]): SIZE now signed.
* machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed.
	* stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise.
	(mode_for_size_tree): New function.
	(layout_decl, layout_type): Call it and clean up BLKmode checks.
	* tree.h (mode_for_size_tree): New declaration.

From-SVN: r32326
2000-03-04 11:40:05 -05:00
Richard Kenner
32070bf2d8 * toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused.
From-SVN: r32325
2000-03-04 11:24:03 -05:00
Jason Merrill
deb5e2801f stmt.c (is_body_block): Move...
* stmt.c (is_body_block): Move...
        * dwarfout.c, dwarf2out.c: ...from here.
        * tree.h: Declare it.
        * emit-rtl.c (remove_unncessary_notes): Don't remove the body block.
        * final.c (final_start_function): Do call remove_unnecessary_notes
        when scheduling.

From-SVN: r32324
2000-03-04 04:32:35 -05:00
Jeff Law
e8965a1871 Daily bump.
From-SVN: r32323
2000-03-04 01:45:07 -07:00
Zack Weinberg
5f8a859740 * config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX.
From-SVN: r32322
2000-03-04 05:36:14 +00:00
Zack Weinberg
455d25861f cpplib.h (_dollar_ok): New macro.
* cpplib.h (_dollar_ok): New macro.
	(is_idchar, is_idstart): Use it.
	(IStable): Rename to _cpp_IStable.  Declare it const if
	gcc >=2.7 or C99.  Delete all references to FAKE_CONST.
	(is_idchar, is_idstart, is_numchar, is_numstart, is_hspace,
	is_space): Update for renamed IStable.

	* cppinit.c: Delete all references to FAKE_CONST and CAT
	macros. Define init_IStable as empty macro if gcc >=2.7 or
	C99. Change TABLE() to ISTABLE and hardcode name of table.
	(cpp_start_read): Don't change the IStable based on
	dollars_in_ident.

	* cpphash.c (unsafe_chars): Add pfile argument.  All callers
	changed.  Handle '$' for char1 correctly.
	* cpplib.c (cpp_get_token): Use is_numchar when parsing numbers.

	* cppexp.c (tokentab2): Make const.
	(cpp_lex): Make toktab const.
	* cppinit.c (include_defaults_array): Make const.
	(initialize_standard_includes): Make default_include const.

From-SVN: r32321
2000-03-04 01:42:56 +00:00
Jason Merrill
fcd7f76b28 dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
* dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
        (dwarf2out_decl): Functions can now have DECL_IGNORED_P.
        (gen_decl_die): Likewise.
        * dwarfout.c (dwarfout_file_scope_decl): Likewise.
        (output_decl): Likewise.

        * varasm.c (make_function_rtl): If we change the name used in the
        rtl, update DECL_ASSEMBLER_NAME accordingly.
        (make_decl_rtl): Likewise.

        * toplev.c (rest_of_compilation): Tweak formatting.

        * toplev.c (rest_of_compilation): find_loop_tree_blocks before
        remove_unnecessary_notes.
        (debug_ignore_block): New fn.
        * toplev.h: Declare it.
        * emit-rtl.c (remove_unncessary_notes): Call it.
        * dwarf2out.c (dwarf2out_ignore_block): New fn.
        * dwarf2out.h: Declare it.
        * final.c (final_start_function): Don't call remove_unnecessary_notes
        if we did insn scheduling.

From-SVN: r32320
2000-03-03 19:48:46 -05:00
Jason Merrill
6db201439a decl2.c (key_method): Break out from...
* decl2.c (key_method): Break out from...
        (import_export_vtable, import_export_class): ...here.

        * decl.c (finish_function): Don't mess with flag_keep_inline_functions.
        * decl2.c (finish_vtable_vardecl): Don't check decl_function_context.

        * search.c (note_debug_info_needed, dfs_debug_mark,
        dfs_debug_unmarkedp): Uncomment.  Adjust for new scheme.
        * decl2.c (finish_vtable_vardecl): Call note_debug_info_needed.

From-SVN: r32319
2000-03-03 19:45:24 -05:00
Zack Weinberg
49634cde48 cppinit.c (cpp_handle_option): Set opts->pedantic directly.
* cppinit.c (cpp_handle_option): Set opts->pedantic directly.
	* cpplib.h: Delete SET_CPP_PEDANTIC.

From-SVN: r32318
2000-03-04 00:11:40 +00:00
Richard Kenner
dd84118114 expr.c (expand_expr, [...]): Use bitfield case if result is a RECORD_TYPE.
* expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if
	result is a RECORD_TYPE.

From-SVN: r32317
2000-03-03 15:40:54 -05:00
Jonathan Larmour
105d228299 elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.
2000-03-03  Jonathan Larmour  <jlarmour@cygnus.co.uk>

	* config/mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.

From-SVN: r32316
2000-03-03 20:11:12 +00:00
Richard Henderson
20a4db9854 alpha.c (alpha_emit_set_const_1): Re-order cases to prefer addition over compliments over shifts.
* alpha.c (alpha_emit_set_const_1): Re-order cases to prefer
        addition over compliments over shifts.

From-SVN: r32315
2000-03-03 11:43:31 -08:00
Tom Tromey
323eee8ae3 * Makefile.in: Fixed ia64 by hand.
From-SVN: r32314
2000-03-03 19:33:11 +00:00
Nathan Sidwell
920f947437 decl.c (cp_finish_decl): Remove obsolete obstack comments, fix typos.
* decl.c (cp_finish_decl): Remove obsolete obstack comments, fix
	typos.

From-SVN: r32313
2000-03-03 18:05:07 +00:00
Jason Merrill
6fdf191de4 * cppinit.c (cpp_handle_option): Use SET_CPP_PEDANTIC.
From-SVN: r32312
2000-03-03 12:09:46 -05:00
Tom Tromey
3c18f2d1d0 configure: Rebuilt.
* configure: Rebuilt.
	* configure.in (--enable-multilib): New option.
	(libffi_basedir): New subst.
	(AC_OUTPUT): Added multilib code.

From-SVN: r32311
2000-03-03 16:58:42 +00:00
J"orn Rennecke
6ce7e0f931 reload1.c (reload_combine_note_use): Handle return register USEs.
* reload1.c (reload_combine_note_use): Handle return register USEs.
	REG case: Handle multi-hard-register hard regs.

From-SVN: r32310
2000-03-03 14:20:28 +00:00
Richard Kenner
661cb0b76f * md.texi: Document use of '*' in insn pattern name.
From-SVN: r32309
2000-03-03 07:29:42 -05:00
Jason Merrill
1e5a1107e4 * calls.c (special_function_p): operator new may not be malloc-like.
From-SVN: r32308
2000-03-03 04:19:42 -05:00
Jeff Law
09496b7c18 Daily bump.
From-SVN: r32307
2000-03-03 01:45:07 -07:00
Jason Merrill
a0ac9e5a4a * gcse.c (dump_hash_table): Really fix error in last change.
From-SVN: r32306
2000-03-03 03:28:43 -05:00
Denis Chertykov
cdd9eb8f0f Denis Chertykov <denisc@overta.ru>
* avr.c (print_operand): Use print_operand_address instead of
        output_addr_const.
        * avr/libgcc.S: Cleanup code.

From-SVN: r32305
2000-03-02 22:32:46 -08:00
Richard Henderson
e68c380c8f * alpha.c (alpha_emit_set_const_1): Also try c + small constant.
From-SVN: r32304
2000-03-02 22:20:53 -08:00
Mark Mitchell
c1b5b92ce8 Remove unncessary printf calls
From-SVN: r32303
2000-03-03 02:29:35 +00:00
Mark Mitchell
834c6dff7b * tree.h (TYPE_ALIGN_UNIT): New macro.
From-SVN: r32302
2000-03-03 02:27:15 +00:00
Tom Tromey
a2b10a92a3 Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
	directory name.

From-SVN: r32301
2000-03-03 01:19:22 +00:00
Clinton Popetz
dc5f5366aa i386.c: (constant_call_address_operand): Reject CONST_INT.
* config/i386/i386.c: (constant_call_address_operand): Reject
	CONST_INT.

From-SVN: r32300
2000-03-02 19:54:46 -05:00
Jason Merrill
83ecd27e96 cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set for the buffer.
* cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set
        for the buffer.
        (SET_CPP_PEDANTIC): New macro.
        * cpplib.c (do_include): Don't bother checking system_header_p.
        (do_warning, do_ident, do_assert, do_unassert): Likewise.

From-SVN: r32299
2000-03-02 19:09:22 -05:00
Zack Weinberg
3b18cdf955 New test - more cpp corner cases
From-SVN: r32298
2000-03-03 00:04:44 +00:00
Jason Merrill
06f079776b * pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG.
From-SVN: r32297
2000-03-02 19:01:08 -05:00
Jason Merrill
c2732da3bb function.h (struct expr_status): Add x_arg_space_so_far.
* function.h (struct expr_status): Add x_arg_space_so_far.
        (arg_space_so_far): New macro.
        * expr.c (init_expr): Initialize it.
        * calls.c (emit_call_1): Reset it.
        (compute_argument_block_size, expand_call): Use it.
        (expand_call, store_one_arg): Increment it.

From-SVN: r32296
2000-03-02 18:50:11 -05:00
Richard Kenner
16214ee327 varasm.c (output_constant): Strip off a CONVERT_EXPR to a UNION_TYPE.
* varasm.c (output_constant): Strip off a CONVERT_EXPR to
	a UNION_TYPE.

From-SVN: r32295
2000-03-02 18:30:38 -05:00
Tom Tromey
b099f07de9 java-interp.h: Don't include MethodInvocation.h.
* include/java-interp.h: Don't include MethodInvocation.h.
	(class _Jv_InterpMethod): Don't make MethodInvocation a friend.
	* Makefile.in: Rebuilt.
	* Makefile.am (gnu/gcj/runtime/MethodInvocation.h): Removed.
	(ordinary_java_source_files): Don't mention
	MethodInvocation.java.
	* gnu/gcj/runtime/MethodInvocation.java: Removed.
	* interpret.cc (MethodInvocation::continue1): Removed.
	(run): Handle exceptions here.
	* java/lang/ClassLoader.java (defineClass1, defineClass2):
	Removed.
	* java/lang/natClassLoader.cc (defineClass0): Catch exceptions
	here.
	(defineClass2): Removed.

	* java/lang/reflect/Method.java (hack_trampoline, hack_call):
	Removed.
	* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Catch
	exceptions here.
	(hack_call): Removed.

	* java/lang/Class.h (Class): Removed hackRunInitializers,
	hackTrampoline.
	* java/lang/natClass.cc (hackRunInitializers): Removed.
	(initializeClass): Catch exceptions here.
	Include ExceptionInInitializerError.h.
	* java/lang/Class.java (hackTrampoline, hackRunInitializers):
	Removed.

	* java/lang/Object.h (Object): Don't mention hack12_6.
	* java/lang/natObject.cc (_Jv_FinalizeObject): Catch exceptions
	here.
	* java/lang/Object.java (hack12_6): Removed.

	* java/lang/natThread.cc (run_): Renamed.  Catch exceptions here.
	(start): Use run_, not run__.
	* java/lang/Thread.java (run_): Renamed from run__; old run_
	removed.

	* jni.cc (_Jv_JNI_FindClass): Handle exceptions.
	(_Jv_JNI_EnsureLocalCapacity): Likewise.
	(_Jv_JNI_DefineClass): Likewise.
	(_Jv_JNI_ThrowNew): Likewise.
	(_Jv_JNI_AllocObject): Likewise.
	(_Jv_JNI_GetAnyMethodID): Likewise.
	(_Jv_JNI_CallAnyMethodV): Likewise.
	(_Jv_JNI_CallAnyMethodA): Likewise.
	(_Jv_JNI_CallAnyVoidMethodV): Likewise.
	(_Jv_JNI_CallAnyVoidMethodA): Likewise.
	(_Jv_JNI_GetAnyFieldID): Likewise.
	(_Jv_JNI_NewString): Likewise.
	(_Jv_JNI_NewStringUTF): Likewise.
	(_Jv_JNI_GetStringUTFChars): Likewise.
	(_Jv_JNI_NewObjectArray): Likewise.
	(_Jv_JNI_NewPrimitiveArray): Likewise.
	(_Jv_JNI_GetPrimitiveArrayRegion): Likewise.
	(_Jv_JNI_GetStringRegion): Likewise.
	(_Jv_JNI_GetStringUTFRegion): Likewise.
	(_Jv_JNI_SetPrimitiveArrayRegion): Likewise.
	(_Jv_JNI_MonitorEnter): Likewise.
	(_Jv_JNI_MonitorExit): Likewise.
	(_Jv_JNI_ToReflectedField): Likewise.
	(_Jv_JNI_ToReflectedMethod): Likewise.
	(_Jv_JNI_RegisterNatives): Likewise.
	(_Jv_JNI_AttachCurrentThread): Likewise.
	(_Jv_JNI_DestroyJavaVM): Likewise.

From-SVN: r32294
2000-03-02 20:25:20 +00:00
Zack Weinberg
c45da1ca92 cppfiles.c (cpp_read_file): New function.
* cppfiles.c (cpp_read_file): New function.

	* cpphash.c (collect_expansion): Make sure to reset last_token
	to NORM when we hit a string.  Handle trailing whitespace
	properly when the expansion is empty.
	(create_definition): Disable line commands while parsing the
	directive line.
	(dump_definition): If pfile->lineno == 0, output a line
	command ahead of the dump, and add a trailing newline.

	* cppinit.c (append_include_chain): Add fifth argument, which
	indicates whether or not system headers are C++ aware.
	(initialize_standard_includes): New function,
	broken out of read_and_prescan.  Pass 'cxx_aware' value from
	the include_defaults_array on to append_include_chain.
	(dump_special_to_buffer): Const-ify char array.
	(builtin_array): Don't dump __BASE_FILE__.
	(cpp_start_read): Use cpp_read_file.  Reorder code for
	clarity.  Don't output line commands here for -D/-A/-U
	switches.  Don't call deps_output for files included with
	-include or -imacros.

	* cpplib.c (do_define): Don't pay any attention to the second
	argument.
	(cpp_expand_to_buffer): Disable line commands while scanning.
	(output_line_command): Work in the file buffer.
	* cpplib.h: Remove no_record_file flag from struct cpp_reader.
	Fix formatting of comments.  Prototype cpp_read_file.

From-SVN: r32293
2000-03-02 20:14:32 +00:00
Tom Tromey
e97f22c975 cp-tree.h (build_java_class_ref): Declare.
* cp-tree.h (build_java_class_ref): Declare.
	* init.c (build_java_class_ref): No longer static.
	* except.c (expand_throw): Generate a Java-style `throw' if the
	thrown object is a "Java" object.
	(initialize_handler_parm): Generate a Java-style lookup of
	exception info if the caught object is a "Java" object.
	(catch_language, catch_language_init): New globals.
	(decl_is_java_type): New function.
	(expand_start_catch_block): Don't call push_eh_info() or
	push_eh_cleanup() when handling a Java-style "catch".  Pass Java
	class reference to build_catch_block.

From-SVN: r32292
2000-03-02 19:58:49 +00:00
Richard Kenner
21318741bb c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink reference the language-equivalent of sizetype.
* c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink
	reference the language-equivalent of sizetype.
	* c-typeck.c (comptypes): Treat sizetype like its language equivalent.
	* fold-const.c (size_binop, size_diffop): Put back checks.
	* gcse.c (dump_hash_table): Fix minor error in last change.
	* stor-layout.c (set_sizetype): Set TYPE_DOMAIN of sizetype.
	Clear TYPE_{NEXT,MAIN}_VARIANT and TYPE_{POINTER,REFERENCE}_to of
	all sizetypes.
	* cp/typeck.c (comptypes): Treat sizetype like its language equivalent.

From-SVN: r32291
2000-03-02 13:29:56 -05:00
Jan Hubicka
42f602d842 * calls.c (expand_call) Do not attempt to combine stack adjustments
with inhibit_defer_pop set.

From-SVN: r32290
2000-03-02 11:49:51 +00:00
Jeff Law
b03eb07298 Daily bump.
From-SVN: r32289
2000-03-02 01:45:09 -07:00
Chandra Chavva
e7fcfdf7f5 *** empty log message ***
From-SVN: r32288
2000-03-01 17:42:36 -05:00
Mark Mitchell
33433751ff stor-layout.c (layout_decl): Allow front-ends to explicitly set the DECL_SIZE for a FIELD_DECL.
* stor-layout.c (layout_decl): Allow front-ends to explicitly set
	the DECL_SIZE for a FIELD_DECL.

From-SVN: r32287
2000-03-01 22:29:56 +00:00