Commit Graph

49532 Commits

Author SHA1 Message Date
Mark Mitchell
10aef094c6 * g++.dg/parse/typedef1.C: Tweak after fix for PR 10428.
From-SVN: r66006
2003-04-23 18:28:31 +00:00
Ulrich Weigand
011fd56b70 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
From-SVN: r66002
2003-04-23 17:13:11 +00:00
Richard Earnshaw
7052a0999e * arm.h (TARGET_OPTIONS): Add value field.
From-SVN: r65999
2003-04-23 16:39:30 +00:00
Mark Mitchell
4223f82fbc re PR c++/9847 (ICE on :?-operator with double class definition in expand_expr)
PR c++/9847
	* cp-tree.h (duplicate_tag_error): Remove.
	* class.c (duplicate_tag_error): Remove.
	* semantics.c (begin_class_definition): Return immediately for a
	duplicate class definition.

	PR c++/10451
	* decl.c (grokdeclarator): Correct logic for "mutable" errors.

From-SVN: r65998
2003-04-23 16:27:27 +00:00
Mark Mitchell
f0ddce84f9 * doc/extend.texi: Remove duplicate 2003 copyright date.
From-SVN: r65997
2003-04-23 16:11:34 +00:00
Nathan Sidwell
61b4ca1ccd remove my write after aproval entry
From-SVN: r65991
2003-04-23 14:05:34 +00:00
Nathan Sidwell
cdb2376773 Makefile.in (LIBGCC_DEPS): Add gcov headers.
* Makefile.in (LIBGCC_DEPS): Add gcov headers.
	(libgcov.a): Depends on LIBGCC_DEPS.
	* basic-block.h (profile_info): Moved here from coverage.h. Made
	a pointer.
	* coverage.c (struct function_list): Fixed array of counter types.
	(struct counts_entry): Keyed by counter type, contains summary.
	(profile_info): Moved to profile.c.
	(prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
	vars.
	(profiler_label): Remove.
	(ctr_labels): New.
	(set_purpose, label_for_tag, build_counter_section_fields,
	build_counter_section_value, build_counter_section_data_fields,
	build_counter_section_data_values, build_function_info_fields,
	build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
	(build_fn_info_type, build_fn_info_value, build_ctr_info_type,
	build_ctr_info_value, build_gcov_info): New.
	(htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
	(reads_counts_file): Adjust.
	(get_coverage_counts): Takes counter number. Add summary
	parameter. Adjust.
	(coverage_counter_ref): Tkaes counter number. Adjust. Lazily
	create counter array labels.
	(coverage_end_function): Adjust.
	(create_coverage): Adjust.
	(find_counters_section): Remove.
	* coverage.h (MAX_COUNTER_SECTIONS): Remove.
	(struct section_info, struct profile_info): Remove.
	(profile_info): Moved to basic-block.h.
	(coverage_counter_ref): Takes a counter number.
	(get_coverage_counts): Takes a counter number. Added summary
	parameter.
	(find_counters_section): Remove.
	* gcov-dump.c (tag_arc_counts): Rename to ...
	(tag_counters): ... here. Adjust.
	(tag_table): Move tag_counters to 3rd entry. Remove
	PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
	(dump_file): Check for counter tag values here.
	(tag_summary): Adjust.
	* gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
	* gcov-io.h (GCOV_LOCKED): New.
	(GCOV_TAG_ARC_COUNTS): Rename to ...
	(GCOV_TAG_COUNTS_BASE): ... here.
	(GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
	Remove.
	(GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
	(GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
	GCOV_TAG_IS_COUNTER): New.
	(struct gcov_ctr_summary): New.
	(struct gcov_summary): Adjust.
	(struct gcov_counter_section): Remove.
	struct gcov_counter_section_data): Remove.
	(struct gcov_function_info): Rename to ...
	(struct gcov_fn_info): ... here. Adjust.
	(struct gcov_ctr_info): New.
	(struct gcov_info): Adjust.
	* gcov.c (read_count_file): Adjust.
	(output_lines): Adjust.
	* libgcov.c (gcov_exit): Adjust.
	(__gcov_flush): Adjust.
	* mklibgcc.in (libgcc2_c_dep): Add gcov headers.
	* predict.c (maybe_hot_bb_p, probably_cold_bb_p,
	probably_never_executed_bb_p, compute_frequency_function): Adjust
	profile_info use.
	* profile.c (struct counts_entry): Remove.
	(profile_info): Define here.
	(get_exec_counts): Adjust get_coverage_counts call.
	(compute_branch_probablilities): Remove find_counters_section
	call.
	(gen_edge_profiler): Adjust coverage_counter_ref call.
	* tracer.c (tail_duplicate): Adjust profile_info use.

From-SVN: r65990
2003-04-23 14:05:11 +00:00
Roger Sayle
2be3b5ce22 re PR rtl-optimization/10339 ([sparc,ppc,ppc64] Invalid optimization: replacing strncmp by memcmp)
PR optimization/10339
	* builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
	directly instead of unsafely transforming call into a memcmp.
	(expand_builtin_strncmp): Likewise.

From-SVN: r65985
2003-04-23 13:09:36 +00:00
Phil Edwards
d8c3061141 Missed tellg() comment from previous checkin somehow.
From-SVN: r65984
2003-04-23 07:21:27 +00:00
Phil Edwards
6894ddcf3d howto.html ('LWG Issues'): Add issue 60, partial implementation only.
2003-04-23  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/ext/howto.html ('LWG Issues'):  Add issue 60, partial
	implementation only.
	* include/bits/istream.tcc (putback, unget, sync, tellg, seekg):
	Comment and change to comply with DR 60 and the effect on gcount().
	* include/std/std_istream.h:  Update comments.
	* testsuite/27_io/basic_istream/putback/char/1.cc (test01):  Add
	comments about reasons for tests.  Test sync() against gcount().
	* testsuite/27_io/basic_istream/seekg/char/2.cc:  New file, test
	for effect on gcount().
	* testsuite/27_io/basic_istream/tellg/char/2.cc:  New file, test
	for effect on gcount().

From-SVN: r65983
2003-04-23 07:05:18 +00:00
Roger Sayle
c57ddcf1b4 alias.c (mark_constant_function): Check for constancy and purity even of void functions.
* alias.c (mark_constant_function):  Check for constancy and
	purity even of void functions.  Update both the function decl
	and the cgraph RTL info with the results.

From-SVN: r65981
2003-04-23 02:47:41 +00:00
Roger Sayle
c1a19acbfd real.c (do_add): Change to return a bool indicating that the result of the operation may be...
* real.c (do_add): Change to return a bool indicating that the
	result of the operation may be inexact due to loss of precision.
	(do_multiply): Likewise.
	(do_divide): Likewise.

From-SVN: r65980
2003-04-23 02:46:03 +00:00
Mark Mitchell
438f50c386 * MAINTAINERS (java): Remove Alexandre Petit-Bianco.
From-SVN: r65979
2003-04-23 02:44:37 +00:00
GCC Administrator
de793c9368 Daily bump.
From-SVN: r65977
2003-04-23 00:17:11 +00:00
Geoffrey Keating
c2e9147ce0 dwarf2out.c (fde_table_allocated): Mark with GTY.
* dwarf2out.c (fde_table_allocated): Mark with GTY.
	(decl_die_table_allocated): Likewise.
	(abbrev_die_table_allocated): Likewise.
	(line_info_table_allocated): Likewise.
	(separate_line_info_table_allocated): Likewise.
	(pubname_table_allocated): Likewise.
	(arange_table_allocated): Likewise.
	(ranges_table_allocated): Likewise.
	(decl_die_table_in_use): Unconditionalize; mark with GTY.
	(abbrev_die_table_in_use): Likewise.
	(line_info_table_in_use): Likewise.
	(separate_line_info_table_in_use): Likewise.
	(pubname_table_in_use): Likewise.
	(arange_table_in_use): Likewise.
	(ranges_table_in_use): Likewise.
	(have_location_lists): Likewise.
	(emitcount): New GTY-marked static, moved...
	(maybe_emit_file): ...from here.
	(label_num): New GTY-marked static, moved...
	(gen_internal_sym): ...from here.

Co-Authored-By: Loren J. Rittle <ljrittle@acm.org>

From-SVN: r65970
2003-04-23 00:06:31 +00:00
Zack Weinberg
df7aa62956 Strip carriage returns
From-SVN: r65969
2003-04-22 23:41:28 +00:00
Richard Henderson
4da2eb6b90 re PR middle-end/8866 (Bug in switch statement code generation -- missing label)
PR 8866
        * rtl.h (MEM_NOTRAP_P): New.
        (MEM_COPY_ATTRIBUTES): Copy it.
        * rtlanal.c (may_trap_p): Check it.
        * expr.c (do_tablejump): Set it.
        * doc/rtl.texi (Flags): Document it.

        * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.

From-SVN: r65967
2003-04-22 16:17:46 -07:00
Olivier Hainque
c1238896d3 alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't set FRP on stack adjustment for outgoing args if frame_pointer_needed.
* config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
	set FRP on stack adjustment for outgoing args if frame_pointer_needed.

From-SVN: r65965
2003-04-22 18:58:05 -04:00
Mark Mitchell
ae2196c28e re PR c++/10446 (ICE on a definition of a nonexistent member function of a nested class in a class template)
PR c++/10446
	* search.c (lookup_fnfields_1): Handle empty slots in the method
	vector.

	PR c++/10446
	* g++.dg/parse/crash3.C: New test.

From-SVN: r65962
2003-04-22 22:53:01 +00:00
Vincent Celier
6d412a7b22 gthr-gnat.h, [...]: new sources for implementation of --enable-threads=gnat.
* gthr-gnat.h, gthr-gnat.c: new sources for implementation of
        --enable-threads=gnat.
        * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
        * configure.in: Add gnat to the list of thread packages
        * configure: Rebuild.
        * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP

From-SVN: r65961
2003-04-22 17:52:04 -04:00
Loren J. Rittle
9734801a49 9964.cc (test_07): Adjust timing.
* testsuite/27_io/basic_filebuf/close/char/9964.cc (test_07):
	Adjust timing.

From-SVN: r65957
2003-04-22 21:06:56 +00:00
Mark Mitchell
befcd99bcb re PR c++/10428 (struct <typedef'ed name> causes ICE in write_unscoped_name)
PR c++/10428
	* g++.dg/parse/elab1.C: New test.

	PR c++/10428
	* decl.c (check_elaborated_type_specifier): New function, split
	out from ...
	(xref_tag): ... here.  Use the new function in more places.

From-SVN: r65956
2003-04-22 21:05:58 +00:00
Kaveh R. Ghazi
52dd322420 vsnprintf.c (vsnprintf): Don't pad string with extra nulls.
* vsnprintf.c (vsnprintf): Don't pad string with extra nulls.
	(main): Test that we don't write too much data.

From-SVN: r65955
2003-04-22 19:58:57 +00:00
Neil Booth
b78f9414c6 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
From-SVN: r65954
2003-04-22 19:54:20 +00:00
Devang Patel
df1b07f3b9 Remove conflict indicator.
From-SVN: r65953
2003-04-22 12:53:37 -07:00
Devang Patel
f945b4e0f5 cpptrad.c (_cpp_replacement_text_len): Add check for macro parameter count.
* cpptrad.c (_cpp_replacement_text_len): Add check for macro parameter count.
        (_cpp_copy_replacement_text): Same.


        * gcc.dg/cpp/trad/funlike-5.c: New test.

From-SVN: r65952
2003-04-22 12:52:51 -07:00
Neil Booth
1067694a52 c-lex.c (c_lex): Handle CPP_OTHER differently.
* c-lex.c (c_lex): Handle CPP_OTHER differently.
	* cppexp.c (_cpp_parse_expr): Similarly.
	* cpplex.c (SPELL_CHAR): Remove.
	(_cpp_lex_direct): Stray chars are saved as byte strings.
	(cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
	handle SPELL_CHAR.
	(cpp_avoid_paste): Update handling of CPP_OTHER.
	* cpplib.h: Spell CPP_OTHER like a number.
	(struct cpp_token): Remove member c.
	* cppmacro.c (stringify_arg): Update handling of CPP_OTHER.

From-SVN: r65951
2003-04-22 19:28:00 +00:00
Paolo Carlini
45aca21f40 std_streambuf.h (_S_pback_size, [...]): Move to basic_filebuf.
2003-04-22  Paolo Carlini  <pcarlini@unitus.it>

	* include/std/std_streambuf.h (_S_pback_size, _M_pback,
	_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
	_M_pback_create(), _M_pback_destroy()): Move to basic_filebuf.
	(basic_streambuf::basic_streambuf()): Adjust.
	* include/std/std_fstream.h (_S_pback_size, _M_pback,
	_M_pback_cur_save, _M_pback_end_save, _M_pback_init,
	_M_pback_create(), _M_pback_destroy()): Moved here
	from basic_streambuf.
	* include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
	Adjust.
	(basic_filebuf::_S_pback_size): Add declaration.
	* include/bits/streambuf.tcc (basic_streambuf::_S_pback_size):
	Remove declaration.

From-SVN: r65950
2003-04-22 17:32:25 +00:00
David Turner
77c915d879 gbl-ctors.h: Add special license exception.
* gbl-ctors.h: Add special license exception.
	* libgcc2.h: Likewise.
	* tsystem.h: Likewise.
	* gcov-io.h: Likewise.

From-SVN: r65949
2003-04-22 17:21:04 +00:00
Kean Johnston
9074e16951 Added myself as SCO maintainer
From-SVN: r65946
2003-04-22 16:46:30 +00:00
David Edelsohn
85e50b6ba8 fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT macro defaulting to original BRANCH_COST heuristic.
* fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
        macro defaulting to original BRANCH_COST heuristic.
        * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.

        * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.

From-SVN: r65942
2003-04-22 11:01:18 -04:00
Andreas Tobler
256c249cf9 packed1.C: Fix dg options.
2003-04-21  Andreas Tobler <a.tobler@schweiz.ch>

        * g++.dg/other/packed1.C: Fix dg options.

From-SVN: r65941
2003-04-22 15:20:57 +02:00
Aldy Hernandez
00c060a4cc t-spe: Merge in t-fprules into file.
2003-04-22  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/t-spe: Merge in t-fprules into file.

        * config.gcc: Add t-spe to powerpc-eabispe.

From-SVN: r65938
2003-04-22 13:06:55 +00:00
Kean Johnston
e4d72771c7 Fixed calls to putenv().
From-SVN: r65937
2003-04-22 12:44:06 +00:00
Nathan Sidwell
ad27e65a22 stddef.h: Provide C++ safe offsetof.
.:	* ginclude/stddef.h: Provide C++ safe offsetof.
testsuite:
	* g++.dg/other/offsetof2.C: New test.

From-SVN: r65936
2003-04-22 12:28:51 +00:00
Richard Kenner
834277a89a Fix typo in comment.
From-SVN: r65935
2003-04-22 08:09:09 -04:00
J"orn Rennecke
277b3b18b3 function.c (purge_addressof_1): In (mem (addressof (reg))) case for reg notes...
* function.c (purge_addressof_1): In (mem (addressof (reg))) case
	for reg notes, if there are no substitutions, just use a SUBREG.

From-SVN: r65934
2003-04-22 12:41:58 +01:00
Mark Mitchell
6adb9463cd * rtti.c (throw_bad_typeid): Use build_cxx_call.
From-SVN: r65933
2003-04-22 07:48:02 +00:00
Mark Mitchell
b2dd096b0c Makefile.in (calls.o): Depend on except.h.
* Makefile.in (calls.o): Depend on except.h.
	* calls.c: Include except.h.
	(emit_call_1): Call note_eh_region_may_contain_throw if
	appropriate.
	* except.c (eh_region): Add may_contain_throw.
	(expand_eh_region_end_cleanup): Do not include handler code when
	it cannot be reached.
	(note_eh_region_may_contain_throw): New function.
	* except.h (note_eh_region_may_contain_throw): New function.

	* call.c (build_over_call): Use build_cxx_call.
	(build_cxx_call): New method, split out of build_over_call.
	* cp-tree.h (language_function): Add can_throw.
	(build_cxx_call): Declare it.
	* decl.c (finish_function): If a function does not contain any
	calls to functions that can throw an exception, indicate that
	fact.
	* decl2.c (mark_used): Do not defer the instantiation of
	functions, if the current function does not throw.
	* optimize.c (maybe_clone_body): Copy TREE_NOTHROW to the clones.
	* pt.c (instantiate_decl): Make sure import_export_decl is called
	before emitting things.
	* rtti.c (throw_bad_cast): Use build_cxx_call.
	(build_dynamic_cast_1): Likewise.
	* typeck.c (build_function_call): Likewise.

	* g++.dg/template/recurse.C: Adjust location of error messages.

From-SVN: r65929
2003-04-22 05:44:12 +00:00
GCC Administrator
f71c12554b Daily bump.
From-SVN: r65928
2003-04-22 00:17:06 +00:00
Mark Mitchell
bfc6c67ed6 winnt.c (i386_pe_mark_dllimport): Revert previous changes.
* config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
	changes.

From-SVN: r65920
2003-04-21 23:23:39 +00:00
Richard Kenner
4f0baa737f Refine last change.
From-SVN: r65915
2003-04-21 18:39:26 -04:00
Olivier Hainque
3cd58fd7ce fold-const.c (fold, [...]): Restore a number of conversions required for type consistency and previously...
* fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
	a number of conversions required for type consistency and previously
	stripped off by STRIP_NOPS.

From-SVN: r65913
2003-04-21 18:27:49 -04:00
Richard Kenner
9e91ce11be rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for details of conflict handling.
* doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
	details of conflict handling.

From-SVN: r65912
2003-04-21 18:13:01 -04:00
Aldy Hernandez
b6e59a3aed rs6000.c (rs6000_override_options): No SPE means 64-bit long doubles.
2003-04-21  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
        64-bit long doubles.

From-SVN: r65911
2003-04-21 21:47:58 +00:00
Aldy Hernandez
95b1c7b6db rs6000.c (rs6000_override_options): No SPE means 64-bit long doubles.
2003-04-21  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
        64-bit long doubles.

[[Split portion of a mixed commit.]]

From-SVN: r65910.2
2003-04-21 21:47:57 +00:00
Paolo Carlini
07c2b60df9 Consistently use _M_in_beg instead of eback(), _M_in_cur instead of gptr(), and so on.
2003-04-21  Paolo Carlini  <pcarlini@unitus.it>

	Consistently use _M_in_beg instead of eback(), _M_in_cur
	instead of gptr(), and so on.
	* include/bits/fstream.tcc (pbackfail, imbue): Here.
	* include/bits/sstream.tcc (pbackfail, seekoff, seekpos): Ditto.
	* include/bits/streambuf.tcc (sbumpc, sputbackc,
	__copy_streambufs): Ditto.
	* include/std/std_streambuf.h (sgetc): Ditto.

From-SVN: r65909
2003-04-21 21:44:44 +00:00
Richard Kenner
63f60ecb14 Revert hunks not part of last patch.
From-SVN: r65908
2003-04-21 17:35:44 -04:00
Olivier Hainque
0d2f38ee40 expmed.c (extract_bit_field): Reverse operands of && condition to prevent a potential division by zero in the...
* expmed.c (extract_bit_field): Reverse operands of && condition to
        prevent a potential division by zero in the previously first branch.
	* config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.

From-SVN: r65907
2003-04-21 17:32:06 -04:00
Nathan Sidwell
d79f9ec9ff commit two parts of my last patch that escaped, somehow
From-SVN: r65906
2003-04-21 21:23:43 +00:00