aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2003-04-24ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di for ↵H.J. Lu3-7/+19
__sync_bool_compare_and_swap_di for int return type. 2003-04-24 H.J. Lu <hjl@gnu.org> * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di for __sync_bool_compare_and_swap_di for int return type. * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di): Change return type to int. (__sync_bool_compare_and_swap): Likewise. From-SVN: r66042
2003-04-24re PR c++/10337 ("ambiguous overload"-error for non-ambiguous situation)Nathan Sidwell6-36/+89
cp: PR c++/10337 * call.c (joust): Don't warn about conversion ops that are exact or cv-conversions. Rearrange to avoid multiple type comparisons. testsuite: PR c++/10337 * g++.dg/warn/conv1.C: New test. * g++.old-deja/g++.other/conv7.C: Adjust. * g++.old-deja/g++.other/overload14.C: Adjust. From-SVN: r66038
2003-04-24re PR c/10308 ([x86] ICE with -O -fgcse or -O2)Jan Hubicka6-204/+464
* cfgbuild.c (make_edges): Do not use next_nonnote_insn when looking for fallthru edge. * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul): Fix. (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload, athlon-fvector): New. (athlon_*): Revisit to match new optimization guide. * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8 * i386.md (cvt??2?? patterns): Fix modes. (fistp patterns): Set modes. Accidentaly commited with my earlier reload patch: PR c/10308 * reload.c (find_reloads_address_1): Reload plus at the place of index register. From-SVN: r66037
2003-04-24New GCOV_TAG_FUNCTION layoutNathan Sidwell7-72/+89
New GCOV_TAG_FUNCTION layout * coverage.c (struct function_list): Replace name with ident. (struct counts_entry): Likewise. (fn_ident): New. (htab_counts_entry_hash, htab_counts_entry_eq, htab_counts_entry_del): Adjust. (reads_count_file, get_coverage_counts, coverage_begin_output, coverage_end_function): Adjust. (build_fn_info_type, build_fn_info_value): Likewise. * gcov-dump.c (tag_function): Adjust. * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV. * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV. * gcov.c (struct function_info): Add ident. (read_graph_file, read_count_file): Adjust. * libgcov.c (gcov_exit): Adjust. From-SVN: r66035
2003-04-24re PR c++/10471 (SegFault in build_cxx_call)Mark Mitchell4-1/+23
PR c++/10471 * call.c (build_cxx_call): Robustify. PR c++/10471 * g++.dg/template/defarg2.C: New test. From-SVN: r66032
2003-04-23re PR rtl-optimization/8300 ([sparc] ICE in gen_reg_rtx, at emit-rtl.c:662)Richard Henderson2-7/+14
PR opt/8300 * toplev.c (rest_of_compilation): Delay no_new_pseudos until after initialize_uninitialized_subregs; update reg info assuming new pseudos were created. From-SVN: r66030
2003-04-24Daily bump.GCC Administrator1-1/+1
From-SVN: r66026
2003-04-23Makefile.in (c-lex.o, [...]): Update.Neil Booth17-225/+189
* Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update. * c-lex.c (MULTIBYTE_CHARS): Remove conditionals. (lex_string): Take cpp_string with full spelling. (cb_ident): Update. (c_lex): Update diagnostics. * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL. (create_literal): New. (lex_string): Unterminated literals have type CPP_OTHER. (_cpp_lex_direct): Update calls to lex_string. Use create_literal for CPP_OTHER. (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify. (_cpp_equiv_tokens, cpp_interpret_charconst): Update. * cpplib.c (parse_include, do_line, do_linemarker, destringize_and_run): Update for token storing full spelling. * cpplib.h: Update token spelling types. * cppmacro.c (stringify_arg, check_trad_stringification): Update for token storing full spelling. cp: * Make-lang.in (lex.o): Remove mbchar.h. * lex.c (MULTIBYTE_CHARS): Lose. * parser.c (cp_lexer_get_preprocessor_token): CPP_OTHER handled in c-lex.c. testsuite: * gcc.dg/cpp/include2.c: Update. * gcc.dg/cpp/multiline-2.c: New. * gcc.dg/cpp/multiline.c: Update. * gcc.dg/cpp/strify2.c: Update. * gcc.dg/cpp/trad/literals-2.c: Update. From-SVN: r66019
2003-04-23* g++.dg/other/packed1.C: XFAIL hppa*-*-*.John David Anglin2-1/+5
From-SVN: r66012
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