Age | Commit message (Collapse) | Author | Files | Lines |
|
__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
|
|
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
|
|
* 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
|
|
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
|
|
PR c++/10471
* call.c (build_cxx_call): Robustify.
PR c++/10471
* g++.dg/template/defarg2.C: New test.
From-SVN: r66032
|
|
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
|
|
From-SVN: r66026
|
|
* 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
|
|
From-SVN: r66012
|
|
From-SVN: r66006
|
|
From-SVN: r66002
|
|
From-SVN: r65999
|
|
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
|
|
From-SVN: r65997
|
|
* 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
|
|
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
|
|
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
|
|
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
|
|
From-SVN: r65977
|
|
* 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
|
|
From-SVN: r65969
|
|
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
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
From-SVN: r65954
|
|
From-SVN: r65953
|
|
* 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
|
|
* 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
|
|
* gbl-ctors.h: Add special license exception.
* libgcc2.h: Likewise.
* tsystem.h: Likewise.
* gcov-io.h: Likewise.
From-SVN: r65949
|
|
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-21 Andreas Tobler <a.tobler@schweiz.ch>
* g++.dg/other/packed1.C: Fix dg options.
From-SVN: r65941
|
|
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
|
|
From-SVN: r65937
|
|
.: * ginclude/stddef.h: Provide C++ safe offsetof.
testsuite:
* g++.dg/other/offsetof2.C: New test.
From-SVN: r65936
|
|
From-SVN: r65935
|
|
* 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
|
|
From-SVN: r65933
|
|
* 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
|
|
From-SVN: r65928
|
|
* config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
changes.
From-SVN: r65920
|
|
From-SVN: r65915
|
|
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
|
|
conflict handling.
* doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
details of conflict handling.
From-SVN: r65912
|
|
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 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
|
|
From-SVN: r65908
|
|
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
|
|
From-SVN: r65906
|