Commit Graph

26856 Commits

Author SHA1 Message Date
Mark Mitchell
971cbc146e expr.c (cplus_expand_expr, [...]): Use expand_start_stmt_expr and expand_end_stmt_expr directly.
* expr.c (cplus_expand_expr, case STMT_EXPR): Use
	expand_start_stmt_expr and expand_end_stmt_expr directly.  Set
	RTL_EXPR_HAS_NO_SCOPE.

	* pt.c (instantiate_decl): Clear TI_PENDING_TEMPLATE_FLAG a little
	later.

	* dump.c (dequeue_and_dump): Dump SCOPE_NO_CLEANUPS_P.

From-SVN: r32345
2000-03-05 20:46:18 +00:00
Mark Mitchell
9f93702662 tree.def (RTL_EXPR): Update documentation.
* tree.def (RTL_EXPR): Update documentation.
	* tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro.
	* expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE.
	* function.c (preserve_rtl_expr_temp): New function.
	(preserve_rtl_expr_temps): Likewise.
	(preserve_rtl_expr_result): Use it.

From-SVN: r32344
2000-03-05 20:43:44 +00:00
Mark Mitchell
591ccf92b3 Revert this patch:
2000-03-04  Mark Mitchell  <mark@codesourcery.com>

From-SVN: r32343
2000-03-05 19:34:29 +00:00
Nathan Sidwell
2f6f9ac7b6 impint.C: New test.
* g++.old-deja/g++.warn/impint.C: New test.
	* g++.old-deja/g++.martin/sts_vectini.C: Add -w option.
	* g++.old-deja/g++.pt/explicit10.C: Specify -w option.
	* g++.old-deja/g++.pt/explicit12.C: Likewise.
	* g++.old-deja/g++.pt/explicit13.C: Likewise.
	* g++.old-deja/g++.pt/explicit17.C: Likewise.
	* g++.old-deja/g++.pt/explicit18.C: Likewise.
	* g++.old-deja/g++.pt/explicit19.C: Likewise.
	* g++.old-deja/g++.pt/explicit23.C: Likewise.
	* g++.old-deja/g++.pt/explicit31.C: Likewise.
	* g++.old-deja/g++.pt/explicit35.C: Likewise.
	* g++.old-deja/g++.pt/explicit6.C: Likewise.
	* g++.old-deja/g++.pt/memclass7.C: Likewise.

From-SVN: r32342
2000-03-05 10:23:46 +00:00
Nathan Sidwell
c3f082287c call.c (convert_like): Macrofy.
* call.c (convert_like): Macrofy.
	(convert_like_with_context): New macro.
	(convert_like_real): Renamed from convert_like.  Add calling
	context parameters, for diagnostics. Add recursive flag.  Call
	dubious_conversion_warnings for outer conversion.
	(build_user_type_conversion): Use convert_like_with_context.
	(build_over_call): Likewise. Don't warn about dubious
	conversions here. Adjust convert_default_arg calls.
	(convert_default_arg): Add context parameters for diagnostics.
	Pass throught to convert_like_with_context.
	* cp-tree.h (convert_default_arg): Add context parameters.
	(dubious_conversion_warnings): Prototype new function.
	* typeck.c (convert_arguments): Adjust convert_default_arg call.
	(dubious_conversion_warnings): New function, broken
	out of convert_for_assignment.
	(convert_for_assignment): Adjust.

From-SVN: r32341
2000-03-05 10:22:16 +00:00
Anthony Green
18ca9ce723 re GNATS gcj/129 (Static array length access bug in gcj)
* libjava.compile/PR129_B.java: New file.
	* libjava.compile/support/PR129_A.java: New file.
	For PR gcj/129.

From-SVN: r32340
2000-03-05 09:07:27 +00:00
Warren Levy
c261e080ef DatagramSocket.java (DatagramSocket(int,InetAddress)): Handle null addresses.
* java/net/DatagramSocket.java(DatagramSocket(int,InetAddress)):
	  Handle null addresses.

From-SVN: r32339
2000-03-05 09:01:16 +00:00
Jeff Law
5a43052b1a Daily bump.
From-SVN: r32338
2000-03-05 01:45:07 -07:00
Anthony Green
aa1e467f34 re GNATS gcj/151 (strange result on Math.sin(1e50))
* configure.host (libgcj_flags): Define __NO_MATH_INLINES.
	See PR gcj/151.

From-SVN: r32337
2000-03-05 08:32:51 +00:00
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