hubicka [Tue, 25 Sep 2001 15:26:55 +0000 (15:26 +0000)]
* Makefile.in (cfgrtl.o): Add.
* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
free_aux_for_edge): Declare.
* cfg.c
(HAVE_return): Undefine.
* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
free_aux_for_edge): New global functions.
(first_delete_block): New static variable.
(init_flow): Clear first_delete_block.
(basic_block_for_insn, label_value_list, tail_recursion_label_list,
can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
try_redirect_by_replacing_jump, last_loop_beg_note,
back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
delete_insn, delete_insn_chain, create_basic_block_structure,
create_basic_block, flow_delete_block, compute_bb_for_insn,
free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
set_block_for_new_insns, split_block, merge_blocks_nomove,
block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
redirect_edge_and_branch, force_nonfallthru_and_redirect,
force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
tidy_fallthru_edges, split_edge, insert_insn_on_edge,
commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
purge_all_dead_edges): Move to ....
* cfgrtl.c: New file; .... Here.
* bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
(reroder_basic_block): Use alloc_aux_for_blocks.
* predict.c (estimate_bb_frequencies): Likewise; use
alloc_aux_for_edges.
* profile.c (compute_branch_probabilities): Likewise.
(branch_prob): Likewise.
* reg-stack.c (reg_to_stack): Likewise.
* emit-rtl.c (emit_insns_after): Never return NULL.
* basic-block.h (set_block_for_new_insns): Delete.
* cfgrtl.c (set_block_for_new_insns): Delete.
* cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
calls when crossjumping.
* cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
* unroll.c (copy_loop_body): Use delete_insn.
* final.c (final, final_scan_insn): Use delete_insn/delete_note.
* function.c (fixup_var_refs_insn, fixup_var_refs_1,
keep_stack_depressed): Likewise.
* gcse.c (cprop_cc0_jump): Likewise.
* local-alloc.c (update_equiv_regs): Likewise.
* loop.c (scan_loop, loop_delete_insns): Likewise.
* regmove.c (try_auto_increment, fixup_match_1): Likewise.
* reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
delete_output_reload, delete_address_reloads_1,
reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
Likewise.
* sibcall.c (replace_call_placeholder): Likewise.
* cse.c (cse_insn): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45807
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 25 Sep 2001 14:59:36 +0000 (14:59 +0000)]
SSE/MMX builtins bugfixes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45806
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 25 Sep 2001 12:26:25 +0000 (12:26 +0000)]
Add target_flags mask bit to builtin definitions
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45805
138bc75d-0d04-0410-961f-
82ee72b054a4
grahams [Tue, 25 Sep 2001 11:52:13 +0000 (11:52 +0000)]
*
20010925-1.c: New testcase for incorrect sibcall optimization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45804
138bc75d-0d04-0410-961f-
82ee72b054a4
grahams [Tue, 25 Sep 2001 11:39:35 +0000 (11:39 +0000)]
* sibcall.c (skip_copy_to_return_value): Tighten return value
copy check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45803
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 25 Sep 2001 07:16:10 +0000 (07:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45800
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Tue, 25 Sep 2001 06:18:03 +0000 (06:18 +0000)]
* gcc.dg/cpp/
20000625-2.c: Correct line number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45799
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Tue, 25 Sep 2001 04:11:21 +0000 (04:11 +0000)]
* java/security/cert/X509Extension.java: Merge from classpath.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45798
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Tue, 25 Sep 2001 00:28:28 +0000 (00:28 +0000)]
* (lwa_operand): Address must be word aligned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45795
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Mon, 24 Sep 2001 22:58:27 +0000 (22:58 +0000)]
* tree.c (type_hash_marked_p): Consider as marked if debug symbol
number has been set.
(type_hash_mark): Mark type itself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45794
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Mon, 24 Sep 2001 22:53:12 +0000 (22:53 +0000)]
* c-lex.c (cb_def_pragma): Update.
(c_lex): Update, and skip padding.
* cppexp.c (lex, parse_defined): Update, remove unused variable.
* cpphash.h (struct toklist): Delete.
(union utoken): New.
(struct cpp_context): Update.
(struct cpp_reader): New members eof, avoid_paste.
(_cpp_temp_token): New.
* cppinit.c (cpp_create_reader): Update.
* cpplex.c (_cpp_temp_token): New.
(_cpp_lex_direct): Add PREV_WHITE when parsing args.
(cpp_output_token): Don't print leading whitespace.
(cpp_output_line): Update.
* cpplib.c (glue_header_name, parse_include, get__Pragma_string,
do_include_common, do_line, do_ident, do_pragma,
do_pragma_dependency, _cpp_do__Pragma, parse_answer,
parse_assertion): Update.
(get_token_no_padding): New.
* cpplib.h (CPP_PADDING): New.
(AVOID_LPASTE): Delete.
(struct cpp_token): New union member source.
(cpp_get_token): Update.
* cppmacro.c (macro_arg): Convert to use pointers to const tokens.
(builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
replace_args, quote_string, stringify_arg, parse_arg, next_context,
enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
_cpp_backup_tokens, _cpp_create_definition): Update.
(push_arg_context): Delete.
(padding_token, push_token_context, push_ptoken_context): New.
(make_string_token, make_number_token): Update, rename.
(cpp_get_token): Update to handle tokens as pointers to const,
and insert padding appropriately.
* cppmain.c (struct printer): New member prev.
(check_multiline_token): Constify.
(do_preprocessing, cb_line_change): Update.
(scan_translation_unit): Update to handle spacing.
* scan-decls.c (get_a_token): New.
(skip_to_closing_brace, scan_decls): Update.
* fix-header.c (read_scan_file): Update.
* doc/cpp.texi: Update.
* gcc.dg/cpp/macro10.c: New test.
* gcc.dg/cpp/strify3.c: New test.
* gcc.dg/cpp/spacing1.c: Add tests.
* gcc.dg/cpp/
19990703-1.c: Remove bogus test.
* gcc.dg/cpp/
20000625-2.c: Fudge to pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45793
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Mon, 24 Sep 2001 22:38:22 +0000 (22:38 +0000)]
include:
* libiberty.h (reconcat): New function.
libiberty:
* concat.c (reconcat): New function.
gcc:
* c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
leak by passing malloc'ed pointer to reconcat, not concat.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45789
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Mon, 24 Sep 2001 20:27:06 +0000 (20:27 +0000)]
* varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45785
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Mon, 24 Sep 2001 20:17:45 +0000 (20:17 +0000)]
* gcc.c-torture/execute/
20010924-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45784
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Mon, 24 Sep 2001 20:13:00 +0000 (20:13 +0000)]
* flow.c (delete_dead_jumptables): Delete jumptable if the only
reference is from the literal pool.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45783
138bc75d-0d04-0410-961f-
82ee72b054a4
neil [Mon, 24 Sep 2001 18:14:46 +0000 (18:14 +0000)]
* testsuite/objc/execute/paste.m: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45782
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Mon, 24 Sep 2001 17:29:37 +0000 (17:29 +0000)]
* doc/install.texi (Final install): Request additional information
in mail about successful builds.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45779
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 24 Sep 2001 16:35:04 +0000 (16:35 +0000)]
* pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
initial value of return pointer register instead of value in frame-20.
Revise comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45778
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 24 Sep 2001 16:30:28 +0000 (16:30 +0000)]
* som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
the libcall if there isn't a referenced identifier for the symbol.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45777
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 24 Sep 2001 16:21:09 +0000 (16:21 +0000)]
* pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
non 64-bit machines. Use these as a plabel for the trampoline.
(TRAMPOLINE_SIZE): Adjust size for new words.
(INITIALIZE_TRAMPOLINE): Initialize new words.
(TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
pointer to the plabel in the trampoline.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45776
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 24 Sep 2001 16:16:07 +0000 (16:16 +0000)]
* pa.c (function_arg): Pass floating arguments in both general and
floating registers in indirect (dynamic) calls when generating code
for the 32 bit ABI and the HP assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45775
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Mon, 24 Sep 2001 14:24:42 +0000 (14:24 +0000)]
* doc/install.texi: Markup fixes.
Use Solaris 2, SunOS 4 as appropriate.
(Specific, *-*-solaris2*): Explain this.
Unconditionally warn against /usr/ucb tools.
Remove Sun as warning, obsolete.
Move X11 header bug workaround here, update patches.
(Specific, sparc-sun-solaris2*): Detail Sun as fix status.
(Specific, sparc-sun-solaris2.7): Update patch 106950 status.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45773
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 24 Sep 2001 09:17:06 +0000 (09:17 +0000)]
Removed, since DR209 patch was reverted on this branch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45771
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 24 Sep 2001 07:16:50 +0000 (07:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45767
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Mon, 24 Sep 2001 04:51:50 +0000 (04:51 +0000)]
* java/lang/PosixProcess.java (exitValue): Implement here. Throw
IllegalThreadStateException if process hasn't exited yet.
* java/lang/natPosixProcess.cc (exitValue): Removed.
(waitFor): Only check thread interrupted status if waitpid()
returned an error. Use WIFEXITED and WEXITSTATUS to process process's
exit value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45766
138bc75d-0d04-0410-961f-
82ee72b054a4
zack [Mon, 24 Sep 2001 00:27:33 +0000 (00:27 +0000)]
top level:
* errors.h (warning, error, fatal, internal_error): Don't mark
with ATTRIBUTE_PRINTF_n.
* toplev.h (internal_error, fatal_io_error, warning, error,
pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
Likewise.
cp:
* Make-lang.in (CXX_OBJS): Take out cp/errfn.o.
(cp/errfn.o): Delete rule.
(cp/error.o): Depend on flags.h.
* errfn.c: Delete file.
* cp-tree.h: Declare warn_deprecated. Remove definitions of
TFF_NAMESPACE_SCOPE, TFF_CLASS_SCOPE, TFF_CHASE_NAMESPACE_ALIAS,
and TFF_TEMPLATE_DEFAULT_ARGUMENTS. #define cp_error, cp_warning,
cp_pedwarn, and cp_compiler_error to error, warning, pedwarn, and
internal_error respectively. Make cp_deprecated into a macro.
Don't define cp_printer typedef or declare cp_printers.
* error.c: Include flags.h.
Delete: struct tree_formatting_info, print_function_argument_list,
print_declaration, print_expression, print_function_declaration,
print_function_parameter, print_type_id, print_cv_qualifier_seq,
print_type_specifier_seq, print_simple_type_specifier,
print_elaborated_type_specifier, print_rest_of_abstract_declarator,
print_parameter_declaration_clause, print_exception_specification,
print_nested_name_specifier, and definition of cp_printers.
(locate_error): New function.
(cp_error_at, cp_warning_at, cp_pedwarn_at): Moved here and
rewritten in terms of locate_error and diagnostic.c.
(cp_tree_printer): Rename cp_printer; wire up to *_to_string
instead of deleted print_* routines. Handle %C, %L, %O, %Q also.
(init_error): Adjust to match.
po:
* POTFILES.in: Remove cp/errfn.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45765
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sun, 23 Sep 2001 23:35:38 +0000 (23:35 +0000)]
* function.c (pop_function_context_from): var_refs_queue
and temp slots now in GC memory.
(mark_function_status, free_after_compilation): Likewise;
also struct function now in GC memory.
(assign_stack_temp_for_type): struct temp_slot now in GC memory.
(combine_temp_slots): Likewise.
(schedule_fixup_var_refs): var_refs_queue now in GC memory.
(prepare_function_start): Use GC memory for struct function.
(mark_temp_slot): Deleted.
(gcc_mark_struct_function): struct function now in GC memory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45764
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sun, 23 Sep 2001 22:50:40 +0000 (22:50 +0000)]
* fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
code for division, not modulus.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45763
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sun, 23 Sep 2001 22:37:05 +0000 (22:37 +0000)]
* rtl.def (MEM): Remove obsolete part of comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45762
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 23 Sep 2001 07:16:11 +0000 (07:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45760
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Sun, 23 Sep 2001 01:08:05 +0000 (01:08 +0000)]
old fix
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45759
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Sun, 23 Sep 2001 01:05:55 +0000 (01:05 +0000)]
misc fixes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45758
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sat, 22 Sep 2001 19:06:29 +0000 (19:06 +0000)]
* c-format.c (init_function_format_info): Check __builtin_printf
and __builtin_fprintf even if -ffreestanding. Check C99 functions
in gnu89 mode.
testsuite:
* gcc.dg/format/builtin-1.c, gcc.dg/format/ext-6.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45757
138bc75d-0d04-0410-961f-
82ee72b054a4
apbianco [Sat, 22 Sep 2001 18:50:09 +0000 (18:50 +0000)]
2001-09-22 Alexandre Petit-Bianco <apbianco@redhat.com>
* decl.c (init_decl_processing): Fixed typo in predef_filenames
last three initializations. Fixes PR java/4360.
( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00903.html )
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45756
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 22 Sep 2001 15:13:42 +0000 (15:13 +0000)]
* c-common.c (format_attribute_table): Remove decl.
* tree.h (format_attribute_table, lang_attribute_table): New decls.
(lang_attribute_common): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45754
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 22 Sep 2001 13:59:01 +0000 (13:59 +0000)]
* attribs.c: New file, from c-common.c.
(attribute_tables): Now four elements.
(format_attribute_table, lang_attribute_common): New variables.
(init_attributes): Reflect above changes.
(handle_mode_attribute): Delete check for wider than uintmax.
* c-common.c: Delete parts moved to attribs.c.
(enum attrs): Deleted; unused.
(c_format_attribute_table): New variable.
(c_common_lang_init): Initialize format_attribute_table with it.
* c-common.h (decl_attributes): Remove decl.
* tree.h (decl_attribute): Move it to here.
* Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
(attribs.o): New rule.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45753
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Sat, 22 Sep 2001 13:32:38 +0000 (13:32 +0000)]
* libI77/configure.in (__EXTENSIONS__): Define.
* libI77/config.h.in, libI77/conifgure: regenerate.
* libU77/configure.in (__EXTENSIONS__): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45752
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 22 Sep 2001 13:27:33 +0000 (13:27 +0000)]
* function.c (fix_lexical_address): Use set_mem_alias_set.
(expand_function_start): Likewise.
* config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45751
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 22 Sep 2001 13:23:14 +0000 (13:23 +0000)]
* varasm.c (output_constant): Fix unused variable warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45750
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Sat, 22 Sep 2001 13:14:40 +0000 (13:14 +0000)]
* attribs.c: New file, from c-common.c.
(attribute_tables): Now four elements.
(format_attribute_table, lang_attribute_common): New variables.
(init_attributes): Reflect above changes.
(handle_mode_attribute): Delete check for wider than uintmax.
* c-common.c: Delete parts moved to attribs.c.
(enum attrs): Deleted; unused.
(c_format_attribute_table): New variable.
(c_common_lang_init): Initialize format_attribute_table with it.
* c-common.h (decl_attributes): Remove decl.
* tree.h (decl_attribute): Move it to here.
* Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
(attribs.o): New rule.
* ch/Make-lang.in (cc1chill): Add attribs.o.
* cp/Make-lang.in (CXX_C_OBJS): Add attribs.o.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45749
138bc75d-0d04-0410-961f-
82ee72b054a4
toon [Sat, 22 Sep 2001 10:36:11 +0000 (10:36 +0000)]
2001-09-22 George Helffrich <george@geo.titech.ac.jp>
* g77.dg/strlen0.f: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45748
138bc75d-0d04-0410-961f-
82ee72b054a4
toon [Sat, 22 Sep 2001 10:35:05 +0000 (10:35 +0000)]
Thu Sep 20 15:05:20 JST 2001 George Helffrich <george@geo.titech.ac.jp>
* com.c (ffecom_subscript_check_): Loosen subscript checking rules
for character strings, to permit substring expressions like
string(1:0).
* news.texi: Document this as a new feature.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45747
138bc75d-0d04-0410-961f-
82ee72b054a4
aj [Sat, 22 Sep 2001 08:42:05 +0000 (08:42 +0000)]
* builtins.c (c_getstr): Remove unused variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45746
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 22 Sep 2001 07:16:42 +0000 (07:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45745
138bc75d-0d04-0410-961f-
82ee72b054a4
apbianco [Sat, 22 Sep 2001 05:03:35 +0000 (05:03 +0000)]
2001-09-20 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (patch_method_invocation): Build class initialization
when static finals are used to qualify method invocation.
Fixes PR java/4366.
( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00880.html )
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45743
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Sat, 22 Sep 2001 01:21:04 +0000 (01:21 +0000)]
* reload1.c (reload): Use delete_insn instead of splatting
NOTE_INSN_DELETED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45740
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 21:06:18 +0000 (21:06 +0000)]
* reload.c (push_secondary_reload): Don't check for "=" in output
constraint after ""->ALL_REGS check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45739
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 20:43:54 +0000 (20:43 +0000)]
* predict.c (expected_value_to_br_prob): Use pc_set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45738
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 20:42:14 +0000 (20:42 +0000)]
* optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45737
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 20:26:44 +0000 (20:26 +0000)]
* rtl.h (LCT_RETURNS_TWICE): New.
* calls.c (emit_call_1): Set current_function_calls_setjmp for
ECF_RETURNS_TWICE.
(emit_library_call_value_1): Map LCT_RETURNS_TWICE
to ECF_RETURNS_TWICE.
* except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
call to setjmp.
* unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
* config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
(JMP_BUF_SIZE): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45736
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 20:08:10 +0000 (20:08 +0000)]
* config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
to R8_REGS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45735
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 16:59:12 +0000 (16:59 +0000)]
* include/jvm.h (_Jv_VTable): Handle function descriptors for ia64;
add get_method, set_method, vtable_elt_size, new_vtable.
(_Jv_ArrayVTable): Derive from _Jv_VTable.
* resolve.cc (_Jv_PrepareClass): Use new _Jv_VTable methods.
* interpret.cc (_Jv_InterpMethod::continue1): Likewise.
* java/lang/natClassLoader.cc (_Jv_NewArrayClass): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45734
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 16:58:22 +0000 (16:58 +0000)]
gcc/
* tree.def (FDESC_EXPR): New.
* expr.c (expand_expr): Handle it.
* varasm.c (initializer_constant_valid_p): Likewise.
(output_constant): Likewise.
* defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
* config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
(ASM_OUTPUT_FDESC): New.
* doc/tm.texi: Document the new macros.
gcc/cp/
* class.c (set_vindex): Mind TARGET_VTABLE_USES_DESCRIPTORS.
(build_vtbl_initializer): Likewise.
(build_vfn_ref): New.
* cp-tree.h: Declare it.
* call.c (build_over_call): Use it.
* decl2.c (mark_vtable_entries): Mark FDESC_EXPR.
* typeck.c (get_member_function_from_ptrfunc): Mind descriptors.
gcc/java/
* class.c (get_dispatch_table): Handle function descriptors.
(build_dtable_decl): Likewise.
* expr.c (build_invokevirtual): Likewise.
gcc/testsuite/
* g++.old-deja/g++.abi/ptrmem.C: Update for ia64 c++ abi.
* g++.old-deja/g++.abi/vtable2.C: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45733
138bc75d-0d04-0410-961f-
82ee72b054a4
apbianco [Fri, 21 Sep 2001 16:01:45 +0000 (16:01 +0000)]
2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.h: (WFL_STRIP_BRACKET): Re-written using
build_type_name_from_array_name.
(STRING_STRIP_BRACKETS): New macro.
* parse.y (build_type_name_from_array_name): New function.
(array_creation_expression:): Accumulate []s instead of [s.
(cast_expression:): Accumulate []s instead of [s after cast type
name.
(build_array_from_name): Local string deleted, use
build_type_name_from_array_name.
(build_unresolved_array_type): Accumulate []s instead of [s after
type name.
(register_fields): Fixed comment.
(resolve_class): Local name, base deleted, new locals tname and
array_dims. Use build_type_name_from_array_name. Use array_dims to
build array type.
(purify_type_name): Use STRING_STRIP_BRACKETS.
( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00779.html )
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45732
138bc75d-0d04-0410-961f-
82ee72b054a4
apbianco [Fri, 21 Sep 2001 15:58:35 +0000 (15:58 +0000)]
2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
* stringpool.c (get_identifier_with_length): New function.
* tree.h (get_identifier_with_length): New prototype.
( http://gcc.gnu.org/ml/gcc-patches/2001-09/msg00779.html )
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45731
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Fri, 21 Sep 2001 15:34:54 +0000 (15:34 +0000)]
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
once merging is complete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45730
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Fri, 21 Sep 2001 15:16:31 +0000 (15:16 +0000)]
* integrate.c (allocate_initial_values): Eliminate unused arg warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45729
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Fri, 21 Sep 2001 15:08:52 +0000 (15:08 +0000)]
Whitespace changes
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45728
138bc75d-0d04-0410-961f-
82ee72b054a4
rearnsha [Fri, 21 Sep 2001 14:39:28 +0000 (14:39 +0000)]
* cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
that would be invalid after a merge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45727
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 21 Sep 2001 12:55:18 +0000 (12:55 +0000)]
* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
remove some labels.
(flow_delete_insn): This one.
(delete_insn_chain): Rename from ...; do not care labels.
(flow_delete_insn_chain): ... this one.
(flow_delete_block): Remove the insns one BB has been expunged.
(merge_blocks_nomove): Likewise.
(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
updating BB boundaries.
(tidy_fallthru_edge): Likewise.
(commit_one_edge_insertion): Likewise.
* cfgbuild.c (find_basic_block): Likewise.
(find_basic_blocks_1): Likewise.
* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
(try_crossjump_to_edge): Likewise.
(try_optimize_cfg): Likewise.
* cse.c (delete_trivially_dead_insns): Likewise.
* df.c (df_insn_delete): Likewise.
* doloop.c (doloop_modify): Use delete_related_insns.
* emit-rtl.c (try_split): Likewise.
(remove_insn): Update BB boundaries.
* expect.c (connect_post_landing_pads): Use delete_related_insns.
* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
updating BB boundaries.
(propagate_block_delete_insn): Likewise.
(propagate_block_delete_libcall): Likewise.
* function.c (delete_handlers): Use delete_related_insns.
(thread_prologue_and_epilogue_insns): Likewise.
* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
* genpeep.c (gen_peephole): Use delete_related_insns.
* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
BB boundaries.
(find_cond_trap): Likewise.
* integrate.c (save_for_inline): Use delete_related_insns.
(copy_insn_list): Likewise.
* jump.c (pruge_linie_number_notes): Likewise.
(duplicate_loop_exit_test): Likewise.
(delete_computation): Likewise.
(delete_related_insn): Rename from ...; use delete_insn
(delete_insn): ... this one.
(redirect_jump): Use delete_related_insns.
* loop.c (scan_loop): Likewise.
(move_movables): Likewise.
(find_and_verify_loops): Likewise.
(check_dbra_loop): Likewise.
* recog.c (peephole2_optimize): Likewise.
* reg-stack.c (delete_insn_for_stacker): Remove.
(move_for_stack_reg): Use delete_insn.
* regmove.c (combine_stack_adjustments_for_block): Likewise.
* reload1.c (delete_address_reloads): Use delete_related_insns.
(fixup_abnormal_edges): Use delete_insn.
* recog.c (emit_delay_sequence): Use delete_related_insns.
(delete_from-delay_slot): Likewise.
(delete_scheduled_jump): likewise.
(optimize_skip): Likewise.
(try_merge_delay_insns): Likewise.
(full_simple_delay_slots): Likewise.
(fill_slots_from_thread): Likewise.
(relax_delay_slots): Likewise.
(make_return_insns): Likewise.
(dbr_schedule): Likewise.
* rtl.h (delete_insn): Rename to delete_related_insns.
(delete_insn, delete_insn_chain): New prototypes.
* ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
by df_insn_delete already.
* ssa-dce.c (delete_insn_bb): Use delete_insn.
* ssa.c (convert_from_ssa): Use delete_related_insns.
* unroll.c (unroll_loop): Likewise.
(calculate_giv_inc): Likewise.
(copy_loop_body): Likewise.
* i386-protos.h (ix86_libcall_value, ix86_function_value,
ix86_function_arg_regno_p, ix86_function_arg_boundary,
ix86_return_in_memory, ix86_function_value): Declare.
* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
new static valurables.
(x86_64_reg_class): New enum
(x86_64_reg_class_name): New array.
(classify_argument, examine_argument, construct_container,
merge_classes): New static functions.
(optimization_options): Enable flag_omit_frame_pointer and disable
flag_pcc_struct_return on 64bit.
(ix86_libcall_value, ix86_function_value,
ix86_function_arg_regno_p, ix86_function_arg_boundary,
ix86_return_in_memory, ix86_function_value): New global functions.
(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
(function_arg_advance): Handle x86_64 passing conventions.
(function_arg): Likewise.
* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
(RETURN_IN_MEMORY): Move offline.
(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
(FUNCTION_VALUE_REGNO_P): New macro.
(FUNCTION_ARG_REGNO_P): Move offline.
(struct ix86_args): Add maybe_vaarg.
* next.h (FUNCTION_VALUE_REGNO_P): Delete.
* unix.h (FUNCTION_VALUE_REGNO_P): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45726
138bc75d-0d04-0410-961f-
82ee72b054a4
hpenner [Fri, 21 Sep 2001 11:41:43 +0000 (11:41 +0000)]
2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
* s390.md: Changed attributes for scheduling.
* s390.c: (s390_adjust_cost, s390_adjust_priority)
Changed scheduling
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45725
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Fri, 21 Sep 2001 07:46:32 +0000 (07:46 +0000)]
* no-threads.cc (_Jv_ThreadStart): Remove names of unused arguments.
* java/lang/mprec.c (lo0bits): Fix paren typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45724
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 21 Sep 2001 07:17:49 +0000 (07:17 +0000)]
* decl.c (grokdeclarator): Use C syntax for attr_flags declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45723
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 21 Sep 2001 07:16:43 +0000 (07:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45722
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Fri, 21 Sep 2001 05:09:09 +0000 (05:09 +0000)]
* Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET,
DLLTOOL_FOR_TARGET, WINDRES_FOR_TARGET, AR_FOR_TARGET,
RANLIB_FOR_TARGET, NM_FOR_TARGET): Don't use double quotes to
avoid quotes nesting problems.
(NATIVE_CHECK_MODULES): Ditto, just for consistency.
(DO_X): Export only variables that are set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45720
138bc75d-0d04-0410-961f-
82ee72b054a4
bryce [Fri, 21 Sep 2001 04:23:31 +0000 (04:23 +0000)]
* posix-threads.cc (_Jv_ThreadInterrupt): Re-enable interrupt of
blocking IO via pthread_kill().
* java/io/natFileDescriptorPosix.cc (write (jint)): Check for thread
interrupted status flag only if ::write returned an error.
(write (jbyteArray, jint, jint): Likewise.
(read (jint)): Likewise.
(read (jbyteArray, jint, jint): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45719
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Fri, 21 Sep 2001 01:27:06 +0000 (01:27 +0000)]
Table-driven attributes.
* c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
* tree.h (struct tree_decl): Change machine_attributes to
attributes.
* doc/c-tree.texi: Document that all attributes are now attached
to decls and types.
* c-common.c (add_attribute, attrtab, attrtab_idx,
default_valid_lang_attribute, valid_lang_attribute): Remove.
(attribute_tables, attributes_initialized,
c_common_attribute_table, default_lang_attribute_table): New
variables.
(handle_packed_attribute, handle_nocommon_attribute,
handle_common_attribute, handle_noreturn_attribute,
handle_unused_attribute, handle_const_attribute,
handle_transparent_union_attribute, handle_constructor_attribute,
handle_destructor_attribute, handle_mode_attribute,
handle_section_attribute, handle_aligned_attribute,
handle_weak_attribute, handle_alias_attribute,
handle_no_instrument_function_attribute,
handle_no_check_memory_usage_attribute, handle_malloc_attribute,
handle_no_limit_stack_attribute, handle_pure_attribute): New
functions.
(init_attributes, decl_attributes): Rewrite to implement
table-driven attributes.
* c-common.h (enum attribute_flags): Move to tree.h.
* c-format.c (decl_handle_format_attribute,
decl_handle_format_arg_attribute): Rename to
handle_format_attribute and handle_format_arg_attribute. Update
for table-driven attributes.
* c-common.h (decl_handle_format_attribute,
decl_handle_format_arg_attribute): Remove prototypes.
(handle_format_attribute, handle_format_arg_attribute): Add
prototypes.
* c-decl.c (grokdeclarator): Handle attributes nested inside
declarators.
* c-parse.in (setattrs, maybe_setattrs): Remove.
(maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
Update to handle nested attributes properly.
(maybe_resetattrs, after_type_declarator,
parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
absdcl1_ea, direct_absdcl1): Update to handle nested attributes
properly.
(make_pointer_declarator): Update to handle nested attributes
properly.
* doc/extend.texi: Update documentation of limits of attributes
syntax. Warn about problems with attribute semantics in C++.
* target.h (struct target): Remove valid_decl_attribute and
valid_type_attribute. Add attribute_table and
function_attribute_inlinable_p.
* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
TARGET_VALID_TYPE_ATTRIBUTE): Remove.
(TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
Add.
(TARGET_INITIALIZER): Update.
* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
definition.
(function_attribute_inlinable_p): New function. Check for the
presence of any machine attributes before using
targetm.function_attribute_inlinable_p.
(function_cannot_inline_p): Update.
* Makefile.in (integrate.o): Update dependencies.
* doc/tm.texi: Update documentation of target attributes and
example definition of TARGET_VALID_TYPE_ATTRIBUTE.
* tree.c (default_valid_attribute_p, valid_machine_attribute):
Remove.
(default_target_attribute_table,
default_function_attribute_inlinable_p): New.
(lookup_attribute): Update comment to clarify handling of multiple
attributes with the same name.
(merge_attributes, attribute_list_contained): Allow multiple
attributes with the same name but different arguments to appear in
the same attribute list.
* tree.h (default_valid_attribute_p): Remove prototype.
(struct attribute_spec): New.
(default_target_attribute_table): Declare.
(enum attribute_flags): Move from c-common.h. Add
ATTR_FLAG_TYPE_IN_PLACE.
(default_function_attribute_inlinable_p): Declare.
* config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(vms_attribute_table): New.
* config/arc/arc.c (arc_valid_decl_attribute): Remove.
(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(arc_attribute_table, arc_handle_interrupt_attribute): New.
* config/arm/arm.c (arm_valid_type_attribute_p,
arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
Remove.
(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
define.
(TARGET_ATTRIBUTE_TABLE): Define.
(arm_attribute_table, arm_handle_fndecl_attribute,
arm_handle_isr_attribute): New.
* config/avr/avr.c (avr_valid_type_attribute,
avr_valid_decl_attribute): Remove.
(TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
define.
(TARGET_ATTRIBUTE_TABLE): Define.
(avr_attribute_table, avr_handle_progmem_attribute,
avr_handle_fndecl_attribute): New.
* config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(c4x_attribute_table, c4x_handle_fntype_attribute): New.
* config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(h8300_attribute_table, h8300_handle_fndecl_attribute,
h8300_handle_eightbit_data_attribute,
h8300_handle_tiny_data_attribute): New.
* config/i386/i386-protos.h (ix86_valid_type_attribute_p,
i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
Remove prototypes.
(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
declarations.
* config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
define.
(TARGET_ATTRIBUTE_TABLE): Define.
(ix86_attribute_table, ix86_handle_cdecl_attribute,
ix86_handle_regparm_attribute): New.
* config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
i386_pe_valid_type_attribute_p): Remove.
(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
* config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(ia64_attribute_table): New.
* config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
interrupt_ident2, model_ident1, model_ident2): Remove.
(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(init_idents): Update.
(m32r_attribute_table, m32r_handle_model_attribute): New.
* config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
Remove.
(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
* config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(mcore_attribute_table, mcore_handle_naked_attribute): New.
* config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
* config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
* config/sh/sh.c (sh_valid_decl_attribute): Remove.
(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(sh_attribute_table, sh_handle_interrupt_handler_attribute,
sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
New.
* config/stormy16/stormy16.c (stormy16_valid_type_attribute):
Remove.
(TARGET_VALID_TYPE_ATTRIBUTE): Don't define
(TARGET_ATTRIBUTE_TABLE): Define.
(stormy16_attribute_table, stormy16_handle_interrupt_attribute):
New.
* config/v850/v850.c (v850_valid_decl_attribute): Remove.
(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
(TARGET_ATTRIBUTE_TABLE): Define.
(v850_attribute_table, v850_handle_interrupt_attribute,
v850_handle_data_area_attribute): New.
* config/v850/v850-c.c (mark_current_function_as_interrupt):
Return void. Call decl_attributes instead of
valid_machine_attribute.
cp:
Table-driven attributes.
* decl.c: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
* decl2.c (cplus_decl_attributes): Only take one attributes
parameter.
* cp-tree.c (cplus_decl_attributes): Update prototype.
* class.c (finish_struct), decl.c (start_decl, start_function),
decl2.c (grokfield), friend.c (do_friend), parse.y
(parse_bitfield): Update calls to cplus_decl_attributes.
* decl.c (grokdeclarator): Take a pointer to a single ordinary
attribute list.
* decl.h (grokdeclarator): Update prototype.
* decl2.c (grokfield): Take a single ordinary attribute list.
* friend.c (do_friend): Likewise.
* decl.c (shadow_tag, groktypename, start_decl,
start_handler_parms, grokdeclarator, grokparms, start_function,
start_method), decl2.c (grokfield, grokbitfield, grokoptypename),
parse.y (parse_field, parse_bitfield, component_decl_1), pt.c
(process_template_parm, do_decl_instantiation): Pass single
ordinary attribute lists around.
* decl.c (grokdeclarator): Correct handling of nested attributes.
Revert the patch
1998-10-18 Jason Merrill <jason@yorick.cygnus.com>
* decl.c (grokdeclarator): Embedded attrs bind to the right,
not the left.
.
* cp-tree.h (cp_valid_lang_attribute): Remove declaration
(cp_attribute_table): Declare.
* decl.c (valid_lang_attribute): Don't define.
(lang_attribute_table): Define.
(init_decl_processing): Initialize lang_attribute_table instead of
valid_lang_attribute.
* tree.c (cp_valid_lang_attribute): Remove.
(handle_java_interface_attribute, handle_com_interface_attribute,
handle_init_priority_attribute): New functions.
(cp_attribute_table): New array.
* decl2.c (import_export_class): Don't use
targetm.valid_type_attribute.
testsuite:
Table-driven attributes.
* g++.dg/ext/attrib1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45718
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 21 Sep 2001 00:53:28 +0000 (00:53 +0000)]
* sh-protos.h (sh_pr_n_sets): Declare.
* sh.c (calc_live_regs): If the initial value for PR has been copied,
look at the copy to determine if PR needs to be saved.
sh_pr_n_sets: New function.
* sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
(ALLOCATE_INITIAL_VALUE): Define.
* sh.c (initial_elimination_offset):
Fix RETURN_ADDRESS_POINTER_REGNUM case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45717
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Fri, 21 Sep 2001 00:45:30 +0000 (00:45 +0000)]
* integrate.c (allocate_initial_values): New function.
* integrate.h (allocate_initial_values): Declare.
* local-alloc.c (local_alloc): Move call to allocate_reg_info from
here...
* reload1.c (reload): And initialization of reg_equiv_memory_loc
from here...
* toplev.c (rest_of_compilation): To here.
Call allocate_initial_values.
* tm.texi: add description for ALLOCATE_INITIAL_VALUE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45716
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Fri, 21 Sep 2001 00:33:01 +0000 (00:33 +0000)]
* ggc-page.c (ggc_marked_p): Properly convert return to boolean.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45715
138bc75d-0d04-0410-961f-
82ee72b054a4
dj [Fri, 21 Sep 2001 00:27:59 +0000 (00:27 +0000)]
* c-typeck.c (really_start_incremental_init): Discriminate
between zero-length arrays and flexible arrays.
(push_init_level): Detect zero-length arrays and handle them
like fixed-sized arrays.
* expr.c (store_constructor): Handle zero-length arrays and
flexible arrays correctly.
* doc/extend.texi: Update zero-length array notes.
* gcc.dg/
20000926-1.c: Update expected warning messages.
* gcc.dg/array-2.c: Likewise, and test for warnings too.
* gcc.dg/array-4.c: Likewise, and don't verify the zero-length
array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45714
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Fri, 21 Sep 2001 00:00:03 +0000 (00:00 +0000)]
Fix for PR 3917.
* config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
(insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
for issue port conflicts.
(cycle_end_fill_slots): TYPE_L instructions take two slots.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45713
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Thu, 20 Sep 2001 18:06:39 +0000 (18:06 +0000)]
2001-09-20 Andrew MacLeod <amacleod@redhat.com>
* testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
on ia64.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45712
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Thu, 20 Sep 2001 15:12:54 +0000 (15:12 +0000)]
* fold-const.c (hashtab.h): Include.
(int_const_binop): Remove FORSIZE arg and compute from type; all
callers changed.
Call size_int_type_wide for all single-word constants.
(size_htab_hash, size_htab_eq): New functions.
(size_int_type_wide): Rework to use hash table.
* ggc-common.c (hashtab.h): Include.
(struct d_htab_root): New struct.
(d_htab_roots): New variable.
(ggc_add_deletable_htab, ggc_htab_delete): New functions
(ggc_mark_roots): Handle deletable htabs.
* ggc-page.c (ggc_marked_p): New function.
* ggc-simple.c (ggc_marked_p): Likewise.
* ggc.h: Reformatting throughout.
(ggc_marked_p, ggc_add_deletable_htab): New declarations.
* tree.c (init_obstacks): Make type_hash_table a deletable root.
(type_hash_add): Allocate struct type_hash from GC memory.
(mark_hash_entry, mark_type_hash): Deleted.
(type_hash_marked_p, type_hash_mark): New functions.
* Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45710
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Thu, 20 Sep 2001 14:25:11 +0000 (14:25 +0000)]
* sh.c (shiftcosts): Don't use shiftcosts array for modes wider
than SImode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45709
138bc75d-0d04-0410-961f-
82ee72b054a4
kenner [Thu, 20 Sep 2001 12:56:59 +0000 (12:56 +0000)]
* stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
array-too-large test for signed sizetype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45707
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 20 Sep 2001 10:21:40 +0000 (10:21 +0000)]
* i386.md (indirect_jump): Allow Pmode operand.
(tablejump): LIkewise; perform expansion to 64bit mode.
* i386.c (symbolic_operand): Allow 64bit PIC references.
(pic_symbolic_operand): Likewise.
(ix86_find_base_term): Strip the 64bit PIC references.
(legitimate_pic_address_disp_p): Handle 64bit PIC.
(legitimize_pic_address): Likewise.
(i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
* i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45705
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Thu, 20 Sep 2001 09:48:24 +0000 (09:48 +0000)]
2001-09-20 Scott Johnston <scott@accom.com>
Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>
* include/backward/alloc.h: Conditionally define malloc_alloc
* testsuite/backward/header_deque_h.cc: New file.
2001-09-20 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
* libstdc++-v3/include/bits/locale_facets.tcc (money_put::do_put):
change variable name so that it works with -fno-for-scope.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45704
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Thu, 20 Sep 2001 09:07:37 +0000 (09:07 +0000)]
2001-09-20 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/22_locale/numpunct_members_char.cc (test01): Remove
redundant sanity checks.
* testsuite/22_locale/money_put_members_wchar_t.cc (test01): Same.
(test02): Same.
* testsuite/22_locale/money_put_members_char.cc (test01): Same.
(test02): Same.
* testsuite/22_locale/moneypunct_members_wchar_t.cc (test01): Same.
* testsuite/22_locale/moneypunct_members_char.cc (test01): Same.
* testsuite/22_locale/money_get_members_wchar_t.cc (test01): Same.
(test02): Same.
* testsuite/22_locale/money_get_members_char.cc (test01): Same.
(test02): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45703
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Thu, 20 Sep 2001 08:30:01 +0000 (08:30 +0000)]
2001-09-19 Benjamin Kosnik <bkoz@redhat.com>
Implement std::time_put.
* include/bits/locale_facets.h: Include time_members.h.
(__timepunct): New.
(time_put): Implement.
* include/bits/locale_facets.tcc (do_put): Put generic versions here.
* include/bits/localefwd.h: Bump number of facets.
* config/locale/time_members_generic.h: New file.
* config/locale/time_members_gnu.h: New file.
* config/locale/c_locale_generic.h: Include clocale.
* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
* src/locale.cc: Add __timepunct initializations.
* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
* include/Makefile.am (stamp-target): Add time_members.h.
* include/Makefile.in: Regenerate.
* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* testsuite/22_locale/time_put.cc: New file.
* testsuite/22_locale/time_put_members_char.cc: New file.
* docs/html/22_locale/locale.html: Add note.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45702
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 20 Sep 2001 07:16:41 +0000 (07:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45701
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 20 Sep 2001 02:35:00 +0000 (02:35 +0000)]
2001-09-19 Alan Modra <amodra@bigpond.net.au>
David Edelsohn <edelsohn@gnu.org>
Revert:
* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
already sign-extended.
* config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
* config/rs6000/rs6000.c (logical_operand): Streamline comparison
with HOST_WIDE_INT.
(rs6000_emit_set_long_const): Avoid unnecessary shift.
(output_profile_hook): Declare label_name const.
* config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
to match constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45699
138bc75d-0d04-0410-961f-
82ee72b054a4
shebs [Wed, 19 Sep 2001 23:58:10 +0000 (23:58 +0000)]
* alias.c: Fix typos in comments.
* sched-rgn.c (init_ready_list): Ditto.
* unwind-dw2.c (uw_frame_state_for): Ditto.
* unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
* unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
* config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45698
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 19 Sep 2001 19:29:10 +0000 (19:29 +0000)]
* cfg.c (force_nonfallthru_and_redirect): Handle redirecting
to the exit block.
* Makefile.in (cfg.o): Depend on TM_P_H.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45696
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 19 Sep 2001 18:55:22 +0000 (18:55 +0000)]
* config/alpha/alpha.c (local_symbol_p): Split out from ...
(local_symbolic_operand): ... here.
(small_symbolic_operand): Check mode.
(global_symbolic_operand): New.
(input_operand): Reject symbolics if explicit relocs.
(call_operand): Tidy.
(alpha_legitimize_address): Use movdi_er_high_g.
(alpha_expand_mov): Likewise.
* config/alpha/alpha-protos.h: Update.
* config/alpha/alpha.h (PREDICATE_CODES): Update.
* config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
(UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
(UNSPECV_LDGP2): Remove.
(all call patterns): Use 's' not 'i' for symbolic constraint.
(call_osf call_value_osf): Use call_operand.
(all osf call patterns): Use $gp. New peepholes for explicit relocs.
(movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
(prologue_ldgp_1_er): Remove.
(ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
(builtin_setjmp_receiver_er patterns): Use them.
(exception_receiver_er): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45694
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 19 Sep 2001 18:32:21 +0000 (18:32 +0000)]
* recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
copy over CALL_INSN_FUNCTION_USAGE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45693
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Wed, 19 Sep 2001 18:28:59 +0000 (18:28 +0000)]
Fix null pointer bug.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45692
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 19 Sep 2001 18:27:49 +0000 (18:27 +0000)]
* emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
and NON_LOCAL_GOTO notes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45691
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 19 Sep 2001 18:21:54 +0000 (18:21 +0000)]
* cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45690
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 19 Sep 2001 07:16:16 +0000 (07:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45688
138bc75d-0d04-0410-961f-
82ee72b054a4
bje [Wed, 19 Sep 2001 06:07:00 +0000 (06:07 +0000)]
2001-09-19 Ben Elliston <bje@redhat.com>
* configure.in (sparc-sun-solaris2*): Don't use /usr/bin/which on
Solaris when testing for the /usr/ucb/cc compiler; it has incorrect
semantics. Use the shell built-in "type" command instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45687
138bc75d-0d04-0410-961f-
82ee72b054a4
clm [Tue, 18 Sep 2001 22:00:37 +0000 (22:00 +0000)]
config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45686
138bc75d-0d04-0410-961f-
82ee72b054a4
uweigand [Tue, 18 Sep 2001 21:51:53 +0000 (21:51 +0000)]
* config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
new-style tm_file specification. Specify correct tm_p_file,
md_file, and out_file for s390x.
* config/s390/linux.h, linux64.h: Don't include other target
macro header files. Now handled via tm_file.
* config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
are defined before use.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45685
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Tue, 18 Sep 2001 20:07:31 +0000 (20:07 +0000)]
* libiberty.h (concat, concat_length, concat_copy, concat_copy2,
ACONCAT): Improve comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45683
138bc75d-0d04-0410-961f-
82ee72b054a4
oldham [Tue, 18 Sep 2001 17:37:48 +0000 (17:37 +0000)]
Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
* config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
code generation only for Gnu assembler.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45681
138bc75d-0d04-0410-961f-
82ee72b054a4
clm [Tue, 18 Sep 2001 17:02:28 +0000 (17:02 +0000)]
* config/stormy16 (LIB_SPEC): Remove -lnosys.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45680
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 18 Sep 2001 16:26:41 +0000 (16:26 +0000)]
* g++.dg/eh/registers1.C: New test case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45679
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 18 Sep 2001 16:24:32 +0000 (16:24 +0000)]
* config/mips/mips.c (mips_frame_set): New.
(mips_emit_frame_related_store): When storing two 32-bit FPRs, use
a parallel frame-related expression with a set for each register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45678
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Tue, 18 Sep 2001 13:39:40 +0000 (13:39 +0000)]
* objalloc.h (OBJALLOC_ALIGN): Define using offsetof.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45677
138bc75d-0d04-0410-961f-
82ee72b054a4
pb [Tue, 18 Sep 2001 10:02:37 +0000 (10:02 +0000)]
2001-09-18 Philip Blundell <philb@gnu.org>
* config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
header files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45674
138bc75d-0d04-0410-961f-
82ee72b054a4