aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2003-04-23* g++.dg/parse/typedef1.C: Tweak after fix for PR 10428.Mark Mitchell2-2/+6
From-SVN: r66006
2003-04-23* config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.Ulrich Weigand2-1/+9
From-SVN: r66002
2003-04-23* arm.h (TARGET_OPTIONS): Add value field.Richard Earnshaw2-7/+11
From-SVN: r65999
2003-04-23re PR c++/9847 (ICE on :?-operator with double class definition in expand_expr)Mark Mitchell8-75/+50
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* doc/extend.texi: Remove duplicate 2003 copyright date.Mark Mitchell2-2/+6
From-SVN: r65997
2003-04-23Makefile.in (LIBGCC_DEPS): Add gcov headers.Nathan Sidwell14-924/+698
* 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-23re PR rtl-optimization/10339 ([sparc,ppc,ppc64] Invalid optimization: ↵Roger Sayle2-69/+166
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-23alias.c (mark_constant_function): Check for constancy and purity even of ↵Roger Sayle2-4/+15
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-23real.c (do_add): Change to return a bool indicating that the result of the ↵Roger Sayle2-35/+59
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-23Daily bump.GCC Administrator1-1/+1
From-SVN: r65977
2003-04-23dwarf2out.c (fde_table_allocated): Mark with GTY.Geoffrey Keating2-31/+47
* 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-22Strip carriage returnsZack Weinberg3-50/+50
From-SVN: r65969
2003-04-22re PR middle-end/8866 (Bug in switch statement code generation -- missing label)Richard Henderson6-5/+34
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-22alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't set FRP on stack ↵Olivier Hainque2-5/+30
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-22re PR c++/10446 (ICE on a definition of a nonexistent member function of a ↵Mark Mitchell4-3/+17
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-22gthr-gnat.h, [...]: new sources for implementation of --enable-threads=gnat.Vincent Celier7-6/+142
* 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-22re PR c++/10428 (struct <typedef'ed name> causes ICE in write_unscoped_name)Mark Mitchell4-17/+62
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* cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.Neil Booth2-5/+9
From-SVN: r65954
2003-04-22Remove conflict indicator.Devang Patel1-1/+0
From-SVN: r65953
2003-04-22cpptrad.c (_cpp_replacement_text_len): Add check for macro parameter count.Devang Patel4-2/+24
* 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-22c-lex.c (c_lex): Handle CPP_OTHER differently.Neil Booth6-29/+28
* 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-22gbl-ctors.h: Add special license exception.David Turner5-0/+36
* gbl-ctors.h: Add special license exception. * libgcc2.h: Likewise. * tsystem.h: Likewise. * gcov-io.h: Likewise. From-SVN: r65949
2003-04-22fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT macro ↵David Edelsohn4-1/+23
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-22packed1.C: Fix dg options.Andreas Tobler2-1/+5
2003-04-21 Andreas Tobler <a.tobler@schweiz.ch> * g++.dg/other/packed1.C: Fix dg options. From-SVN: r65941
2003-04-22t-spe: Merge in t-fprules into file.Aldy Hernandez3-1/+20
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-22Fixed calls to putenv().Kean Johnston2-2/+6
From-SVN: r65937
2003-04-22stddef.h: Provide C++ safe offsetof.Nathan Sidwell4-1/+62
.: * ginclude/stddef.h: Provide C++ safe offsetof. testsuite: * g++.dg/other/offsetof2.C: New test. From-SVN: r65936
2003-04-22Fix typo in comment.Richard Kenner1-1/+1
From-SVN: r65935
2003-04-22function.c (purge_addressof_1): In (mem (addressof (reg))) case for reg notes...J"orn Rennecke2-0/+35
* 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* rtti.c (throw_bad_typeid): Use build_cxx_call.Mark Mitchell2-1/+5
From-SVN: r65933
2003-04-22Makefile.in (calls.o): Depend on except.h.Mark Mitchell16-50/+162
* 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-22Daily bump.GCC Administrator1-1/+1
From-SVN: r65928
2003-04-21winnt.c (i386_pe_mark_dllimport): Revert previous changes.Mark Mitchell2-7/+10
* config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous changes. From-SVN: r65920
2003-04-21Refine last change.Richard Kenner1-4/+15
From-SVN: r65915
2003-04-21fold-const.c (fold, [...]): Restore a number of conversions required for ↵Olivier Hainque2-7/+20
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-21rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for details of ↵Richard Kenner2-5/+10
conflict handling. * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for details of conflict handling. From-SVN: r65912
2003-04-21rs6000.c (rs6000_override_options): No SPE means 64-bit long doubles.Aldy Hernandez1-0/+7
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-21rs6000.c (rs6000_override_options): No SPE means 64-bit long doubles.Aldy Hernandez1-0/+5
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-21Revert hunks not part of last patch.Richard Kenner1-16/+7
From-SVN: r65908
2003-04-21expmed.c (extract_bit_field): Reverse operands of && condition to prevent a ↵Olivier Hainque3-19/+31
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-21commit two parts of my last patch that escaped, somehowNathan Sidwell2-1/+2
From-SVN: r65906
2003-04-21calls.c (expand_call): Prevent sibcall optimization for calls to nested ↵Olivier Hainque2-0/+9
subprograms. * calls.c (expand_call): Prevent sibcall optimization for calls to nested subprograms. From-SVN: r65904
2003-04-21fold-const.c (extract_muldiv, [...]): Detect case when conversion overflows.Richard Kenner2-7/+19
* fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case when conversion overflows. From-SVN: r65900
2003-04-21* stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.Richard Kenner2-1/+3
From-SVN: r65899
2003-04-21dwarf2out.c (is_ada, [...]): New functions.Joel Brobecker2-13/+87
* dwarf2out.c (is_ada, is_ada_subrange_type): New functions. (subrange_type_die): Likewise. (modified_type_die): Emit a subrange_type DIE for Ada subrange types. (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up. From-SVN: r65898
2003-04-21Break out coverage routines to new file.Nathan Sidwell13-1565/+1802
* Makefile.in (COVERAGE_H): New variable (C_OBJS): Add coverage.o (coverage.o): New target. (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust dependencies. (GTFILES): Adjust. (gt-coverage.h): New target. (gt-profile.h): Remove. * profile.h: Remove. Move to ... * coverage.h: ... here. New. #include gcov-io.h. * gcov-io.h: Move function definitions to ... * gcov-io.c: ... here. New. * profile.c: Move coverage routines to coverage.c. (instrument_edges, get_exec_counts, branch_prob, init_branch_prob, end_branch_prob): Adjust. * coverage.c: New. Coverage routines from profile.c (coverage_counter_ref, coverage_init, coverage_finish, coverage_end_function, coverage_begin_output, coverage_counter_ref, get_coverage_counts): Define. * gcov-dump.c, gcov.c: #include gcov-io.c. * libgcov.c: Likewise. Adjust. * loop-init.c: Don't #include profile.h * tracer.c, predict.c, sched-ebb.c: Adjust #includes. * rtl.h: Add coverage prototypes. * toplev.c (compile_file): Init coverage, not branch_prob. Always call coverage_finish. (rest_of_compilation): Call coverage_end_function. From-SVN: r65897
2003-04-21rs6000.md (*movsf_softfloat): Add "h" <- "0" case.Janis Johnson1-1/+1
2003-04-21 Matt Kraai <kraai@alumni.cmu.edu> * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case. From-SVN: r65896
2003-04-21rs6000.md (*movsf_softfloat): Add "h" <- "0" case.Matt Kraai2-5/+10
2003-04-21 Matt Kraai <kraai@alumni.cmu.edu> * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case. From-SVN: r65895
2003-04-21c-ppoutput.c (cb_include): Don't take a cpp_token.Neil Booth6-109/+121
* c-ppoutput.c (cb_include): Don't take a cpp_token. * cppfiles.c: Don't undef strcmp. (find_include_file): Don't take a cpp_token. Check for empty file names. (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token. (cpp_push_include): Simplify. * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update. * cpplib.c (glue_header_name): Return the file name, not a cpp_token. (parse_include): Similary. Don't check for zero-length filenames. (do_include_common, do_pragma_dependency): Update accordingly. * cpplib.h (struct cpp_callbacks): Change prototype of include. From-SVN: r65894
2003-04-21expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p before ↵Richard Kenner2-1/+14
clearing. * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p before clearing. From-SVN: r65890