Jeffrey A Law [Mon, 30 Aug 1999 22:38:25 +0000 (22:38 +0000)]
* invoke.texi: Fix typo.
From-SVN: r28987
Jim Wilson [Mon, 30 Aug 1999 19:27:15 +0000 (19:27 +0000)]
Make fixinc/ work when autogen is not installed.
* fixinc/Makefile.in (subdir): New.
(fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
(Makefile): New.
From-SVN: r28986
Jason Merrill [Mon, 30 Aug 1999 19:14:01 +0000 (19:14 +0000)]
* cp-tree.h (IS_AGGR_TYPE_2): Fix typo.
From-SVN: r28985
Mark Mitchell [Mon, 30 Aug 1999 18:54:20 +0000 (18:54 +0000)]
cp-tree.h (begin_init_stmts): Declare.
* cp-tree.h (begin_init_stmts): Declare.
(finish_init_stmts): Likewise.
* cvt.c (build_up_reference): Wrap the declaration of a temporary
in a statement-expression so that we will see it when expanding
tree structure later.
* init.c (begin_init_stmts): Don't make it static.
(finish_init_stmts): Likewise.
From-SVN: r28984
Mark Mitchell [Mon, 30 Aug 1999 15:50:40 +0000 (15:50 +0000)]
cp-tree.h (start_handler_parms): New function.
* cp-tree.h (start_handler_parms): New function.
(expand_start_catch_block): Take only one parameter.
(start_handler_parms): New function.
* decl.c (start_handler_parms): Define it.
* except.c (process_start_catch_block): Take only one parameter.
Don't call grokdeclarator here.
(expand_start_catch_block): Don't call grokdeclarator here,
either.
* parse.y (handler_args): Adjust call to
expand_start_catch_block. Use start_handler_parms.
* pt.c (push_template_decl_real): Make permanent lists have
permanent elements.
(tsubst_expr): Adjust calls to expand_start_catch_block
appropriately.
* semantics.c (expand_stmt): Likewise.
From-SVN: r28983
Jeff Law [Mon, 30 Aug 1999 07:45:14 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r28982
Jeffrey A Law [Mon, 30 Aug 1999 07:32:33 +0000 (07:32 +0000)]
dwarf2out.c (mem_loc_descriptor): New argument MODE.
* dwarf2out.c (mem_loc_descriptor): New argument MODE. All callers
changed. Handle autoincrement addressing modes.
From-SVN: r28981
Jeffrey A Law [Mon, 30 Aug 1999 07:05:29 +0000 (07:05 +0000)]
integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer just like we would the virtual incoming args...
* integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
just like we would the virtual incoming args register when
integrating.
From-SVN: r28980
Mark Mitchell [Mon, 30 Aug 1999 05:36:00 +0000 (05:36 +0000)]
pt.c (push_template_decl_real): Use template declaration from class type if it exists.
* pt.c (push_template_decl_real): Use template declaration from
class type if it exists.
From-SVN: r28979
Alex Samuel [Mon, 30 Aug 1999 05:22:45 +0000 (05:22 +0000)]
pt.c (push_template_decl_real): Use template declaration from class type if it exists.
* pt.c (push_template_decl_real): Use template declaration from
class type if it exists.
From-SVN: r28978
David Edelsohn [Mon, 30 Aug 1999 03:21:56 +0000 (03:21 +0000)]
rs6000.h (ASM_FILE_START): Specify complete filename, including path, in .file directive.
* rs6000.h (ASM_FILE_START): Specify complete filename, including
path, in .file directive.
From-SVN: r28977
Jeffrey A Law [Sun, 29 Aug 1999 21:48:53 +0000 (21:48 +0000)]
* gcc.c-torture/execute/990829-1.c: New test.
From-SVN: r28976
Jeffrey A Law [Sun, 29 Aug 1999 20:37:24 +0000 (20:37 +0000)]
* gcc.c-torture/compile/990829-1.c: New test.
From-SVN: r28975
Russ Allbery [Sun, 29 Aug 1999 19:48:51 +0000 (19:48 +0000)]
gcc.texi (External Bugs): Remove obsolete note about Perl on SunOS.
* gcc.texi (External Bugs): Remove obsolete note about Perl on
SunOS.
From-SVN: r28974
Mark Mitchell [Sun, 29 Aug 1999 19:03:31 +0000 (19:03 +0000)]
cp-tree.h (TYPE_NEEDS_CONSTRUCTING): Remove #if 0'd definition.
* cp-tree.h (TYPE_NEEDS_CONSTRUCTING): Remove #if 0'd definition.
(maybe_inject_for_scope_var): Declare it.
(initialize_local_var): Likewise.
* decl.c (maybe_inject_for_scope_var): Make it global.
(initialize_local_var): Likewise. Move cleanup handling here,
from cp_finish_decl.
(make_rtl_for_nonlocal_decl): Use
push_obstacks_nochange/pop_obstacks, rather than
end_temporary_allocation/resume_temporary_allocation.
(cp_finish_decl): Try to complete the type of a variable when it
is declared. Move cleanup-handling to initialize_local_var.
(expand_static_init): Use tree-building code, rather than
RTL-building code.
* decl2.c (get_temp_name): Assert non-initializedness of
temporaries.
* init.c (create_temporary_var): Move RTL-assigning code to ...
(get_temp_regvar): Here.
* pt.c (tsbust_expr): Fix indentation. Call cp_finish_decl here.
* semantics.c (expand_stmt): Don't call cp_finish_decl here. Just
call initialize_local_var to generate initialization code.
From-SVN: r28973
Zack Weinberg [Sun, 29 Aug 1999 15:46:14 +0000 (15:46 +0000)]
stdbool.h: Make the typedef name _Bool, with bool a #defined alias.
1999-08-29 08:38 -0700 Zack Weinberg <zack@bitmover.com>
* stdbool.h: Make the typedef name _Bool, with bool a #defined
alias.
From-SVN: r28972
Manfred Hollstein [Sun, 29 Aug 1999 14:41:53 +0000 (14:41 +0000)]
* POTFILES.in: Track files recently added/deleted.
From-SVN: r28971
Kaveh R. Ghazi [Sun, 29 Aug 1999 13:51:39 +0000 (13:51 +0000)]
java-tree.h (lang_printable_name): Constify a char*.
* java-tree.h (lang_printable_name): Constify a char*.
* lang.c (lang_printable_name): Likewise.
From-SVN: r28970
Kaveh R. Ghazi [Sun, 29 Aug 1999 13:49:39 +0000 (13:49 +0000)]
* com.c (lang_printable_name): Constify a char*.
From-SVN: r28969
Kaveh R. Ghazi [Sun, 29 Aug 1999 13:47:37 +0000 (13:47 +0000)]
cp-tree.h (fndecl_as_string, [...]): Constify a char*.
* cp-tree.h (fndecl_as_string, type_as_string,
type_as_string_real, args_as_string, decl_as_string,
expr_as_string, code_as_string, language_as_string,
parm_as_string, op_as_string, assop_as_string, cv_as_string,
lang_decl_name, cp_file_of, lang_printable_name): Constify a char*.
* errfn.c (cp_printer): Likewise.
* error.c (cp_printer, fndecl_as_string, type_as_string_real,
type_as_string, expr_as_string, decl_as_string, lang_decl_name,
cp_file_of, code_as_string, language_as_string, parm_as_string,
op_as_string, assop_as_string, args_as_string, cv_as_string):
Likewise.
* tree.c (lang_printable_name): Likewise.
From-SVN: r28968
Kaveh R. Ghazi [Sun, 29 Aug 1999 13:44:41 +0000 (13:44 +0000)]
* lang.c (chill_print_error_function): Constify a char*.
From-SVN: r28967
Kaveh R. Ghazi [Sun, 29 Aug 1999 13:41:25 +0000 (13:41 +0000)]
tree.c (tree_code_name): Constify a char*.
* tree.c (tree_code_name): Constify a char*.
* tree.h (tree_code_name, decl_printable_name): Likewise.
* function.h (struct function): Likewise.
* toplev.c (decl_name, decl_printable_name): Likewise.
* vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
* objc/objc-act.c (decl_printable_name): Remove redundant prototype.
(init_objc): Remove function pointer cast.
From-SVN: r28966
Kaveh R. Ghazi [Sun, 29 Aug 1999 13:34:10 +0000 (13:34 +0000)]
Makefile.in (ch-version.c): Constify a char*.
* Makefile.in (ch-version.c): Constify a char*.
* actions.c (id_cmp, warn_unhandled, adjust_return_value,
update_else_range_for_int_const, update_else_range_for_range,
update_else_range_for_range_expr, update_else_range_for_type,
compute_else_range, check_case_value,
chill_handle_case_label_range,
chill_handle_multi_case_label_range,
chill_handle_multi_case_else_label, chill_handle_multi_case_label,
chill_handle_multi_case_label_list print_missing_cases): Add
static prototypes.
(build_exception_variant): Cast the function argument of qsort.
(build_rts_call, warn_unhandled, chill_convert_for_assignment,
adjust_return_value, chill_expand_result,
build_multi_case_selector_expression, print_missing_cases):
Constify a char*.
(print_missing_cases): Introduce an intermediary non-const ptr.
Add brackets and indent.
* ch-tree.h (maybe_building_objc_message_expr,
maybe_objc_comptypes, comptypes_record_hook): Remove declarations.
(push_handler, pop_handler): Add prototypes.
(builtin_function, valid_array_index_p,
build_chill_exception_decl, build_rts_call,
chill_convert_for_assignment, display_int_cst,
build_chill_addr_expr, check_have_mode, get_identifier3,
build_chill_string, register_seize_path, get_unique_identifier,
add_taskstuff_to_list, gnuchill_version): Constify a char*.
(finish_chill_function): Add void prototype argument.
* convert.c (convert_to_reference, convert_to_boolean,
convert_to_char, base_type_size_in_bytes, remove_tree_element,
check_ps_range, digest_powerset_tuple, digest_structure_tuple,
digest_array_tuple, convert1): Add static prototypes.
(base_type_size_in_bytes): Hide unused function.
(display_int_cst, digest_array_tuple): Constify a char*.
* decl.c (set_nesting_level, make_chill_variants, fix_identifier,
proclaim_decl, maybe_acons, push_scope_decls, pop_scope_decls,
build_implied_names, bind_sub_modules, layout_array_type,
do_based_decl, handle_one_level, label_value_cmp,
find_implied_types): Add static prototypes.
(boolean_code_name, chill_tree_code_type, chill_tree_code_name):
Constify a char*.
(layout_chill_variants): Cast the function argument of qsort.
(start_chill_function, fix_identifier, init_decl_processing):
Constify a char*.
(init_decl_processing): Prefer memcpy over bcopy to avoid casts.
Use xcalloc instead of xmalloc/bzero.
(builtin_function, build_chill_exception_decl,
finish_outer_function): Constify a char*.
* except.c (start_handler_array, finish_handler_array): Add static
prototypes.
* expr.c (chill_expand_expr, chill_expand_case_expr,
check_arglist_length, internal_build_compound_expr,
is_really_instance, invalid_operand, invalid_right_operand,
build_chill_abstime, build_allocate_memory_call,
build_allocate_global_memory_call, build_return_memory,
build_chill_duration, build_chill_floatcall,
build_allocate_getstack, build_chill_allocate,
build_chill_getstack, build_chill_terminate, build_chill_inttime,
build_chill_lower_or_upper, build_max_min,
build_chill_pred_or_succ, expand_packed_set, fold_set_expr,
build_compare_set_expr, scalar_to_string, build_concat_expr,
build_compare_string_expr, compare_records, string_char_rep,
build_boring_bitstring): Add static prototypes.
(check_have_mode, chill_expand_expr, build_chill_floatcall,
build_allocate_getstack, build_max_min, build_chill_function_call,
expand_packed_set, build_compare_set_expr, build_chill_addr_expr,
string_char_rep): Constify a char*.
* gperf (hash, in_word_set): Add prototypes.
* grant.c (newstring, strfree, append, prepend,
grant_use_seizefile, decode_layout, grant_array_type,
grant_array_type_selective, get_tag_value,
get_tag_value_selective, print_enumeral, print_enumeral_selective,
print_integer_type, find_enum_parent, print_integer_selective,
print_struct, print_struct_selective, print_proc_exceptions,
print_proc_tail, print_proc_tail_selective, find_in_decls,
in_ridpointers, grant_seized_identifier, globalize_decl,
grant_one_decl_selective, compare_memory_file, search_in_list,
really_grant_this): Add static prototypes.
(newstring, append, prepend, grant_use_seizefile,
print_integer_type, decode_constant, grant_one_decl_selective,
header_template): Constify a char *.
* inout.c (add_enum_to_list, build_chill_io_list_type,
build_io_types, declare_predefined_file, build_access_part,
textlocation_mode, check_assoc, assoc_call, check_transfer,
connect_process_optionals, connect_text, connect_access,
check_access, check_text, get_final_type_and_range,
process_io_list, check_format_string, get_max_size,
check_exprlist): Add static prototypes.
(declare_predefined_file, check_assoc, assoc_call, check_transfer,
check_access, check_text, process_io_list): Constify a char*.
* lang.c (deep_const_expr, chill_print_error_function): Add static
prototypes.
* lex.c (close_input_file, maybe_number, string_or_char): Constify
a char*.
(ch_lex_init, skip_directive, same_file, getlc, yywrap,
yy_refill): Add static prototypes.
(build_chill_string, same_file, register_seize_path): Constify a
char*.
* lex.h (finish_chill_seizes): Remove unused prototypes.
* loop.c (build_temporary_variable, maybe_make_for_temp,
get_unique_identifier): Constify a char*.
* parse.c (ch_parse_init, check_end_label, end_function,
build_prefix_clause, PEEK_TOKEN, peek_token_, pushback_token,
forward_token_, require, check_token, expect, define__PROCNAME__):
Add static prototypes.
(build_prefix_clause, expect): Constify a char*.
(parse_expression, parse_primval, parse_untyped_expr,
parse_opt_untyped_expr, parse_opt_actions): Add void prototype
argument.
(parse_opt_name_string, parse_simple_name_string,
parse_name_string, parse_defining_occurrence, parse_name,
parse_optlabel, parse_opt_end_label_semi_colon, parse_modulion,
parse_spec_module, parse_semi_colon,
parse_defining_occurrence_list, parse_mode_definition,
parse_mode_definition_statement, parse_synonym_definition,
parse_synonym_definition_statement, parse_on_exception_list,
parse_on_alternatives, parse_loc_declaration,
parse_declaration_statement, parse_optforbid, parse_postfix,
parse_postfix_list, parse_rename_clauses, parse_opt_prefix_clause,
parse_grant_statement, parse_seize_statement,
parse_param_name_list, parse_param_attr, parse_formpar,
parse_formparlist, parse_opt_result_spec, parse_opt_except,
parse_opt_recursive, parse_procedureattr, parse_proc_body,
parse_procedure_definition, parse_processpar,
parse_processparlist, parse_process_definition,
parse_signal_definition, parse_signal_definition_statement,
parse_then_clause, parse_opt_else_clause, parse_expr_list,
parse_range_list_clause, pushback_paren_expr, parse_case_label,
parse_case_label_list, parse_case_label_specification,
parse_single_dimension_case_action,
parse_multi_dimension_case_action, parse_case_action,
parse_asm_operands, parse_asm_clobbers, ch_expand_asm_operands,
parse_asm_action, parse_begin_end_block, parse_if_action,
parse_iteration, parse_delay_case_event_list,
parse_delay_case_action, parse_do_action, parse_receive_spec,
parse_receive_case_action, parse_send_action, parse_start_action,
parse_call, parse_tuple_fieldname_list, parse_tuple_element,
parse_opt_element_list, parse_tuple, parse_operand6,
parse_operand5, parse_operand4, parse_operand3, parse_operand2,
parse_operand1, parse_operand0, parse_case_expression,
parse_then_alternative, parse_else_alternative,
parse_if_expression, parse_index_mode, parse_set_mode, parse_pos,
parse_step, parse_opt_layout, parse_field_name_list,
parse_fixed_field, parse_variant_field_list,
parse_variant_alternative, parse_field, parse_structure_mode,
parse_opt_queue_size, parse_procedure_mode, parse_program,
parse_pass_1_2): Add static prototypes.
(parse_process_definition): Remove extra argument in function call.
(parse_range_list_clause): Likewise.
* satisfy.c (satisfy, cycle_error_print, safe_satisfy_decl,
satisfy_list, satisfy_list_values): Add static prototype.
(safe_satisfy_decl): Cast DECL_TASKING_CODE_DECL() to (tree).
* tasking.c (make_process_struct): Remove unused prototype.
(validate_process_parameters, get_struct_variable_name,
decl_tasking_code_variable, get_struct_debug_type_name,
get_process_wrapper_name, build_tasking_enum,
build_tasking_message_type, build_receive_signal_case_label,
build_receive_buffer_case_label, build_receive_buffer_case_end,
build_receive_signal_case_end): Add static prototypes.
(struct_name, struct_debug_name, data_name, wrapper_name,
get_struct_type_name, get_struct_debug_type_name,
get_tasking_code_name, get_struct_variable_name,
get_process_wrapper_name): Constify a char*.
(validate_process_parameters, get_struct_variable_name,
decl_tasking_code_variable): Hide unused functions.
(build_start_process, add_taskstuff_to_list, build_queue_length):
Constify a char*.
* tree.c (make_powerset_type): Add static prototype.
(get_identifier3, build_alias_decl, decl_check_rename): Constify a
char*.
* typeck.c (extract_constant_from_buffer,
expand_constant_to_buffer, build_empty_string,
make_chill_pointer_type, make_chill_range_type,
apply_chill_array_layout, field_decl_cmp, make_chill_struct_type,
apply_chill_field_layout): Add static prototype.
(valid_array_index_p, extract_constant_from_buffer,
chill_expand_tuple): Constify a char*.
(layout_chill_struct_type): Cast the function argument of qsort.
From-SVN: r28965
John David Anglin [Sun, 29 Aug 1999 11:04:24 +0000 (11:04 +0000)]
pa.md (interspace_jump): New pattern.
* pa.md (interspace_jump): New pattern.
(builtin_longjmp): New expander.
From-SVN: r28964
Bernd Schmidt [Sun, 29 Aug 1999 10:48:44 +0000 (10:48 +0000)]
Fix possible aliasing problems
From-SVN: r28963
John Wehle [Sun, 29 Aug 1999 10:31:20 +0000 (10:31 +0000)]
jump.c (delete_prior_computation): Also check calls to constant functions.
* jump.c (delete_prior_computation): Also check calls
to constant functions. Don't bother checking for a
REG_UNUSED note before adding it.
(delete_computation): Handle multi-word hard registers
when synthesizing missing REG_DEAD notes for a register
which is both set and used by an insn.
From-SVN: r28962
Michael Hayes [Sun, 29 Aug 1999 10:09:29 +0000 (10:09 +0000)]
loop.c (this_loop_info): New variable.
* loop.c (this_loop_info): New variable.
(loop_has_call, loop_has_volatile, loop_has_tablejump,
loop_continue, loops_enclosed): Replace with fields in this_loop_info.
All uses updated.
(prescan_loop, strength_reduce): New argument loop_info. All callers
updated.
(scan_loop): New variable loop_info, initialise to address of
this_loop_info.
(prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
Delete variable loop_has_multiple_exit targets and replace with
field in this_loop_info.
(find_and_verify_loops): Rename this_loop to this_loop_num.
(strength_reduce): Delete loop_iteration_info. Replace variable
loop_info with function argument of same name.
(insert_bct): Rework test for loop being completely unrolled.
* loop.h (struct loop_info): New fields num, loops_enclosed,
has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
has_indirect_jump, and cont. Redefine use of unroll_number.
(loop_unroll_number): Delete.
* unroll.c (unroll_loop): Store loop unroll count in unroll_number
field of loop_info.
(loop_iterations): Delete variable vtop and instead use
loop_info->vtop computed in prescan_loop.
From-SVN: r28961
Scott Weikart [Sun, 29 Aug 1999 09:28:09 +0000 (09:28 +0000)]
* fix-header.c (main): Do not pass a null pointer to strcmp.
From-SVN: r28960
William Bader [Sun, 29 Aug 1999 09:20:15 +0000 (09:20 +0000)]
configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate filenames.
* configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
filenames.
* configure: Rebuilt.
From-SVN: r28959
Jeff Law [Sun, 29 Aug 1999 07:45:09 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r28958
Jeffrey A Law [Sun, 29 Aug 1999 01:42:28 +0000 (01:42 +0000)]
jump.c (jump_optimize_1): Do not delete assignments to internal_arg_pointer.
* jump.c (jump_optimize_1): Do not delete assignments to
internal_arg_pointer.
* cse.c (delete_trivially_dead_insns): Always consider a set of
the internal_arg_pointer live.
From-SVN: r28957
Mark Mitchell [Sun, 29 Aug 1999 01:39:04 +0000 (01:39 +0000)]
cp-tree.h (strip_array_types): New function.
* cp-tree.h (strip_array_types): New function.
* decl.c (maybe_deduce_size_from_array_init): New function, split
out from cp_finish_decl.
(layout_var_decl): Likewise.
(maybe_commonize_var): Likewise.
(maybe_inject_for_scope_var): Likewise.
(initialize_local_var): Likewise.
(build_cleanup_on_safe_obstack): Likewise.
(check_initializer): Likewise.
(make_rtl_for_nonlocal_decl): Likewise.
(cp_finish_decl): Use them.
* typeck.c (strip_array_types): New function.
From-SVN: r28956
Richard Henderson [Sun, 29 Aug 1999 01:20:54 +0000 (18:20 -0700)]
* decl2.c (arg_assoc_class): Bail if the class is a builtin type.
From-SVN: r28954
Mark Mitchell [Sun, 29 Aug 1999 00:51:57 +0000 (00:51 +0000)]
Fix typo in ChangeLog entry
From-SVN: r28951
Mark Mitchell [Sun, 29 Aug 1999 00:51:31 +0000 (00:51 +0000)]
cp-tree.def (LABEL_STMT): New tree node.
* cp-tree.def (LABEL_STMT): New tree node.
(LABEL_STMT_LABEL): New macro.
(shadow_label): Remove.
(declare_local_label): New function.
(finish_label_decl): Likewise.
* decl.c (make_label_decl): New function, split out from
lookup_label.
(shadowed_labels): Remove.
(binding_level): Add shadowed_labels.
(clear_binding_level): Remove.
(push_binding_level): Just bzero the new binding level.
(pushlevel): Fix indentation.
(pop_label): New function.
(pop_labels): Likewise, split out from poplevel.
(poplevel): Pop local labels. Use pop_labels.
(maybe_push_to_top_level): Don't clear shadowed_labels.
(lookup_label): Use make_label_decl.
(shadow_label): Remove.
(declare_local_label): New function.
(define_label): Simplify.
(start_function): Don't clear shadowed_labels.
(cp_function): Remove shadowed_labels.
(push_cp_function_context): Don't save shadowed_labels.
(pop_cp_function_context): Don't restore it.
* dump.c (dequeue_and_dump): Handle LABEL_STMT.
* parse.y (label_decl): Use finish_label_decl.
* pt.c (tsubst_expr): Handle LABEL_STMTs, and local label
declarations.
* semantics.c (finish_label_stmt): Add a LABEL_STMT when
building_stmt_tree.
(finish_label_decl): New function.
(expand_stmt): Handle LABEL_STMTs and local label declarations.
From-SVN: r28950
Richard Henderson [Sat, 28 Aug 1999 23:29:55 +0000 (16:29 -0700)]
flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
* flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
(update_life_info) [REG_WAS_0]: Search the original insns rather
than the new insns for the note. Fix typos finding note_dest.
If no dest found, discard the note rather than abort.
[REG_NOALIAS]: Handle as REG_NO_CONFLICT.
(replace_insns): Remove the old insn list after update_life_info
not before.
From-SVN: r28946
Richard Henderson [Sat, 28 Aug 1999 23:20:34 +0000 (16:20 -0700)]
haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling sched_analyze_insn.
* haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
sched_analyze_insn.
(sched_analyze_1): Let add_dependence care for not adding dups.
(sched_analyze_2): Likewise.
(add_branch_dependences): Likewise.
From-SVN: r28945
Mumit Khan [Sat, 28 Aug 1999 22:58:42 +0000 (22:58 +0000)]
Mumit Khan <khan@xraylith.wisc.edu>
* i386/winnt.c (export_list): New type.
(exports_head): Rename to
(export_head): this.
(i386_pe_record_exported_symbol): Add is_data flag.
(i386_pe_asm_file_end): Emit directive for exported variables.
* i386/cygwin.h (i386_pe_record_exported_symbol): Update
prototype.
* i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
(ASM_DECLARE_OBJECT_NAME): Likewise.
(ASM_DECLARE_FUNCTION_NAME): Likewise.
* i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
From-SVN: r28944
Mark Mitchell [Sat, 28 Aug 1999 21:46:30 +0000 (21:46 +0000)]
cp-tree.def (LABEL_STMT): New tree node.
* cp-tree.def (LABEL_STMT): New tree node.
(LABEL_STMT_LABEL): New macro.
(shadow_label): Remove.
(declare_local_label): New function.
(finish_label_decl): Likewise.
* decl.c (make_label_decl): New function, split out from
lookup_label.
(shadowed_labels): Remove.
(binding_level): Add shadowed_labels.
(clear_binding_level): Remove.
(push_binding_level): Just bzero the new binding level.
(pushlevel): Fix indentation.
(pop_label): New function.
(pop_labels): Likewise, split out from poplevel.
(poplevel): Pop local labels. Use pop_labels.
(maybe_push_to_top_level): Don't clear shadowed_labels.
(lookup_label): Use make_label_decl.
(shadow_label): Remove.
(declare_local_label): New function.
(define_label): Simplify.
(start_function): Don't clear shadowed_labels.
(cp_function): Remove shadowed_labels.
(push_cp_function_context): Don't save shadowed_labels.
(pop_cp_function_context): Don't restore it.
* dump.c (dequeue_and_dump): Handle LABEL_STMT.
* parse.y (label_decl): Use finish_label_decl.
* pt.c (tsubst_expr): Handle LABEL_STMTs, and local label
declarations.
* semantics.c (finish_label_stmt): Add a LABEL_STMT when
building_stmt_tree.
(finish_label_decl): New function.
(expand_stmt): Handle LABEL_STMTs and local label declarations.
From-SVN: r28943
Jeff Law [Sat, 28 Aug 1999 07:45:09 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r28942
Jeffrey A Law [Sat, 28 Aug 1999 05:41:44 +0000 (05:41 +0000)]
* cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
From-SVN: r28941
Jeffrey A Law [Sat, 28 Aug 1999 05:33:02 +0000 (05:33 +0000)]
gjavah.c, [...]: Do not use C++ style comments in C code.
* gjavah.c, jcf-write.c, verify.c: Do not use C++ style
comments in C code.
From-SVN: r28940
Jeffrey A Law [Fri, 27 Aug 1999 21:40:33 +0000 (21:40 +0000)]
pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an operand.
* pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
operand.
From-SVN: r28939
Marc Espie [Fri, 27 Aug 1999 21:03:30 +0000 (21:03 +0000)]
Marc Espie <espie@cvs.openbsd.org>
* config/openbsd.h: Define SET_ASM_OP.
* tm.texi: cross-reference SET_ASM_OP in the index.
From-SVN: r28938
Zack Weinberg [Fri, 27 Aug 1999 20:37:06 +0000 (20:37 +0000)]
rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format for a CONST_DOUBLE...
1999-08-27 13:27 -0700 Zack Weinberg <zack@bitmover.com>
* rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
for a CONST_DOUBLE, at compile time. Initialize rtx_length
and class_narrowest_mode at compile time. Kill init_rtl.
Mark rtx_length, mode_class, mode_size, mode_unit_size,
mode_wider_mode, mode_mask_array, class_narrowest_mode, and
rtx_format as const. Kill all references to EXTRA_CC_MODES or
EXTRA_CC_NAMES.
* rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
format.
* rtl.h: Declare rtx_length and rtx_format as const.
* machmode.def: Define CC(). Use CC() to define CCmode. If
EXTRA_CC_MODES is defined, expand it here.
* machmode.h: Declare mode_class, mode_size, mode_unit_size,
mode_wider_mode, mode_mask_array, and class_narrowest_mode as
const. Kill all references to EXTRA_CC_MODES.
* toplev.c: Don't prototype or call init_rtl.
* optabs.c: Don't call init_mov_optab.
* genemit.c: Don't generate init_mov_optab. Don't call
init_rtl.
* gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
here.
* genattr.c, genattrtab.c, gencodes.c, genconfig.c,
genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
genrecog.c: Don't call init_rtl.
* arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES. Use CC() in
definition of EXTRA_CC_MODES.
* md.texi: Kill ref to EXTRA_CC_NAMES.
* tm.texi: Document new way to define EXTRA_CC_MODES.
* genrecog.c: Do not look up the name of a define_split.
(Unrelated bugfix.)
From-SVN: r28937
Paul Burchard [Fri, 27 Aug 1999 20:23:30 +0000 (20:23 +0000)]
derived3.C: Renamed from lss-001.C.
* g++.old-deja/g++.pt/derived3.C: Renamed from lss-001.C.
* g++.old-deja/g++.pt/ttp56.C: Renamed from lss-002.C.
* g++.old-deja/g++.pt/decl4.C: Renamed from lss-003.C.
* g++.old-deja/g++.pt/memtemp85.C: Renamed from lss-004.C.
* g++.old-deja/g++.pt/memtemp86.C: Renamed from lss-005.C.
* g++.old-deja/g++.pt/memtemp87.C: Renamed from lss-006.C.
* g++.old-deja/g++.pt/static10.C: Renamed from lss-007.C.
* g++.old-deja/g++.pt/memtemp88.C: Renamed from lss-008.C.
* g++.old-deja/g++.pt/memtemp89.C: Renamed from lss-009.C.
* g++.old-deja/g++.pt/memtemp90.C: Renamed from lss-010.C.
* g++.old-deja/g++.pt/memtemp91.C: Renamed from lss-011.C.
From-SVN: r28936
Mark Mitchell [Fri, 27 Aug 1999 18:22:35 +0000 (18:22 +0000)]
Fix typo in last change
From-SVN: r28935
Zack Weinberg [Fri, 27 Aug 1999 16:44:21 +0000 (16:44 +0000)]
Forgot to commit the ChangeLog update for the errors.c patch.
Oops.
From-SVN: r28933
Nick Clifton [Fri, 27 Aug 1999 16:06:02 +0000 (16:06 +0000)]
Fix typo introduced by previous delta
From-SVN: r28932
Kaveh R. Ghazi [Fri, 27 Aug 1999 13:50:23 +0000 (13:50 +0000)]
* gcc.c (fatal): Make definition static to match prototype.
From-SVN: r28931
Bernd Schmidt [Fri, 27 Aug 1999 09:39:14 +0000 (09:39 +0000)]
Fix for 'Deadly optimization bug' (see egcs mailing list archive)
From-SVN: r28928
Nathan Sidwell [Fri, 27 Aug 1999 09:12:11 +0000 (09:12 +0000)]
configure.in: Don't use shell ! to negate exit codes
* configure.in: Don't use shell ! to negate exit codes
* configure: Regenerate
From-SVN: r28927
Andreas Schwab [Fri, 27 Aug 1999 07:53:33 +0000 (07:53 +0000)]
function.c (assign_stack_temp_for_type): Fix change of Mar 5 for the fact that ALIGN is measured in bits, not bytes.
* function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
the fact that ALIGN is measured in bits, not bytes.
From-SVN: r28926
Zack Weinberg [Fri, 27 Aug 1999 07:47:17 +0000 (07:47 +0000)]
errors.c: New file...
1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
* errors.c: New file; defines functions error, warning, and
fatal, variables have_error and progname.
* errors.h: New file; prototypes and decls for stuff in errors.c.
* Makefile: Add rules to build errors.o and
$(HOST_PREFIX)errors.o. Link genconfig, gencodes, genemit,
genopinit, genrecog, genextract, genpeep, genattr, and
genoutput with errors.o. Add errors.h to deps of genconfig.o,
gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
genpeep.o, genattr.o, and genoutput.o.
* genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
genextract.c, genpeep.c, genattr.c: Include errors.h. Don't
define or prototype fatal. Set progname at beginning of main.
* genoutput.c: Likewise, and don't define or prototype error
either.
From-SVN: r28925
Jeff Law [Fri, 27 Aug 1999 07:45:18 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r28924
Zack Weinberg [Fri, 27 Aug 1999 07:37:16 +0000 (07:37 +0000)]
c-typeck.c (c_expand_start_case): Return immediately if exp is an ERROR_MARK.
1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
* c-typeck.c (c_expand_start_case): Return immediately if exp
is an ERROR_MARK.
* fold-const.c (operand_equal_p): Return immediately if arg1
or arg0 are ERROR_MARKs.
* stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
fields of type ERROR_MARK when calculating if the record can
go in a register.
From-SVN: r28923
Jeffrey A Law [Fri, 27 Aug 1999 07:24:32 +0000 (07:24 +0000)]
* gcc.c-torture/execute/990827-1.c: New test.
From-SVN: r28922
Jim Kingdon [Fri, 27 Aug 1999 07:07:06 +0000 (01:07 -0600)]
i386.md: In the 6 insns which call output_fix_trunc, earlyclobber operands[0].
* i386.md: In the 6 insns which call output_fix_trunc,
earlyclobber operands[0].
From-SVN: r28921
Philip Blundell [Fri, 27 Aug 1999 07:02:37 +0000 (07:02 +0000)]
jump.c (duplicate_loop_exit_test): Call reg_scan_update after creating new registers.
* jump.c (duplicate_loop_exit_test): Call reg_scan_update after
creating new registers.
From-SVN: r28920
Zack Weinberg [Fri, 27 Aug 1999 06:16:55 +0000 (06:16 +0000)]
i386.h: Declare ix86_cpu_string...
1999-08-26 23:09 -0700 Zack Weinberg <zack@bitmover.com>
* i386.h: Declare ix86_cpu_string, ix86_arch_string,
i386_reg_alloc_order, i386_regparm_string,
i386_align_loops_string, i386_align_jumps_string,
i386_align_funcs_string, i386_preferred_stack_boundary_string,
and i386_branch_cost_string as type "const char *".
* i386.c: Define all above strings as type "const char *".
From-SVN: r28919
Mark Mitchell [Fri, 27 Aug 1999 06:07:08 +0000 (06:07 +0000)]
decl.c (lookup_label): Build labels on the permanent obstack when building statement trees.
* decl.c (lookup_label): Build labels on the permanent obstack
when building statement trees. Don't build RTL for labels when
building statement trees.
* semantics.c (finish_goto_stmt): Use LABEL_DECLs even when
building statement trees.
(finish_label_stmt): Likewise.
(expand_stmt): Adjust accordingly.
* pt.c (tsubst_expr); Likewise.
(do_decl_instantiation): Robustify.
From-SVN: r28918
Mark Mitchell [Fri, 27 Aug 1999 05:33:09 +0000 (05:33 +0000)]
Fix typo in last change
From-SVN: r28917
Mark Mitchell [Fri, 27 Aug 1999 05:01:08 +0000 (05:01 +0000)]
cp-tree.h (AGGR_INIT_VIA_CTOR_P): New macro.
* cp-tree.h (AGGR_INIT_VIA_CTOR_P): New macro.
* tree.c (build_cplus_new): Set it.
* expr.c (cplus_expand_expr): Use it.
* dump.c (deque_and_dump): Handle AGGR_INIT_EXPR.
From-SVN: r28916
Mark Mitchell [Fri, 27 Aug 1999 04:58:19 +0000 (04:58 +0000)]
cp-tree.h (AGGR_INIT_VIA_CTOR_P): New macro.
* cp-tree.h (AGGR_INIT_VIA_CTOR_P): New macro.
* tree.c (build_cplus_new): Set it.
* expr.c (cplus_expand_expr): Use it.
From-SVN: r28915
Mark Mitchell [Fri, 27 Aug 1999 03:52:44 +0000 (03:52 +0000)]
decl.c (store_parm_decls): Reset immediate_size_expand.
* decl.c (store_parm_decls): Reset immediate_size_expand.
(finish_function): Likewise.
From-SVN: r28914
Jim Wilson [Fri, 27 Aug 1999 03:41:45 +0000 (03:41 +0000)]
Fix aranges corruption for non-mips 64 bit targets.
* dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
when emitting alignment padding. Emit padding byte of 0 instead of 4.
From-SVN: r28913
Mark Mitchell [Fri, 27 Aug 1999 03:11:52 +0000 (03:11 +0000)]
tree.c (store_parm_decls): Reset immediate_size_expand.
* tree.c (store_parm_decls): Reset immediate_size_expand.
(finish_function): Likewise.
From-SVN: r28912
Mark Mitchell [Fri, 27 Aug 1999 03:01:20 +0000 (03:01 +0000)]
tree.c (copy_node): Improve documentation.
* tree.c (copy_node): Improve documentation.
(cplus_unsave_expr_now): Don't return a value.
From-SVN: r28911
Jim Wilson [Fri, 27 Aug 1999 02:37:40 +0000 (02:37 +0000)]
Add support for defering line number table construction to assembler.
* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
(debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
(dwarf2out_line, dwarf2out_finish): Likewise.
* tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documetation.
From-SVN: r28910
Mark Mitchell [Fri, 27 Aug 1999 00:51:55 +0000 (00:51 +0000)]
tree.c (cplus_unsave_expr_now): Don't return a value.
1999-08-26 Mark Mitchell <mark@codesourcery.com>
* tree.c (cplus_unsave_expr_now): Don't return a value.
From-SVN: r28909
Mark Mitchell [Thu, 26 Aug 1999 23:40:50 +0000 (23:40 +0000)]
* semantics.c (do_poplevel): Always initialize the return value.
From-SVN: r28908
Craig Burley [Thu, 26 Aug 1999 22:16:57 +0000 (22:16 +0000)]
New test
From-SVN: r28907
Gavin Romig-Koch [Thu, 26 Aug 1999 20:47:25 +0000 (20:47 +0000)]
For gcc:
* tree.c (lang_unsave_expr_now) : Correct return type.
* tree.h (lang_unsave_expr_now) : Same.
For gcc/cp:
* cp-tree.h (cplus_unsave_expr_now) : Correct return type.
* tree.h (cplus_unsave_expr_now) : Same.
From-SVN: r28906
Jeff Law [Thu, 26 Aug 1999 19:19:58 +0000 (13:19 -0600)]
Fix typo in last entry.
From-SVN: r28905
Jeffrey A Law [Thu, 26 Aug 1999 19:15:22 +0000 (19:15 +0000)]
pa.md (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros instead of duplicating code.
* pa.md (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
instead of duplicating code.
From-SVN: r28904
Tom Tromey [Thu, 26 Aug 1999 18:23:33 +0000 (18:23 +0000)]
gjavah.c (print_cxx_classname): Print "::" before qualified name.
* gjavah.c (print_cxx_classname): Print "::" before qualified
name.
http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?cmd=view&database=java&pr=36
From-SVN: r28902
Bernd Schmidt [Thu, 26 Aug 1999 17:33:35 +0000 (17:33 +0000)]
Ignore no-ops in cprop pass.
From-SVN: r28901
Craig Burley [Thu, 26 Aug 1999 17:31:13 +0000 (17:31 +0000)]
New test
From-SVN: r28900
Craig Burley [Thu, 26 Aug 1999 17:25:27 +0000 (17:25 +0000)]
New test
From-SVN: r28899
Craig Burley [Thu, 26 Aug 1999 17:13:42 +0000 (17:13 +0000)]
New test
From-SVN: r28898
Gregg Townsend [Thu, 26 Aug 1999 17:00:57 +0000 (17:00 +0000)]
verify.c (verify_jvm_instructions): Don't check instruction validity beyond end of method.
Wed Aug 25 15:37:15 1999 Gregg Townsend <gmt@cs.arizona.edu>
* verify.c (verify_jvm_instructions): Don't check instruction
validity beyond end of method.
From-SVN: r28897
Craig Burley [Thu, 26 Aug 1999 16:54:30 +0000 (16:54 +0000)]
New tests
From-SVN: r28895
Alexandre Petit-Bianco [Thu, 26 Aug 1999 16:51:49 +0000 (16:51 +0000)]
re GNATS gcj/32 (A boolean expression containing two qualified expressions makes jc1 die.)
Thu Aug 26 09:10:58 1999 Alexandre Petit-Bianco <apbianco@cygnus.com>
* parse.y (lookup_cl): Changed leading comment. Now does its best
to set the column number.
(qualify_ambiguous_name): Take WFL wrappers into account.
This patch fixes the Java net PR #32.
From-SVN: r28894
Zack Weinberg [Thu, 26 Aug 1999 16:49:42 +0000 (16:49 +0000)]
tree.h: fancy_abort always takes three args.
1999-08-26 09:42 -0700 Zack Weinberg <zack@bitmover.com>
* tree.h: fancy_abort always takes three args.
* resource.c: Move include of system.h before toplev.h.
From-SVN: r28893
Craig Burley [Thu, 26 Aug 1999 15:24:57 +0000 (15:24 +0000)]
New test
From-SVN: r28892
Nick Clifton [Thu, 26 Aug 1999 08:47:03 +0000 (08:47 +0000)]
Accept LABEL_REFs as well as SYMBOL_REFs in mem_loc_descriptor()
From-SVN: r28891
Jeff Law [Thu, 26 Aug 1999 07:45:12 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r28890
Zack Weinberg [Thu, 26 Aug 1999 05:18:44 +0000 (05:18 +0000)]
system.h: Don't redefine abort or trim_filename.
1999-08-25 22:10 -0700 Zack Weinberg <zack@bitmover.com>
* system.h: Don't redefine abort or trim_filename.
* rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
whether or not __FUNCTION__ is available.
* tree.h: Duplicate rtl.h's definition of abort, for files
that don't include rtl.h. Delete all code to perform type
checking with a compiler other than GCC.
* varray.h: Delete all code to perform type checking with a
compiler other than GCC. Make VARRAY_CHECK() always evaluate
its arguments exactly once, using a statement expression.
Adjust the VARRAY_<type> accessor macros to match.
* toplev.h (fatal_insn, fatal_insn_not_found): Kill.
(_fatal_insn, _fatal_insn_not_found): New fns, take info on
caller's location. Define fatal_insn and fatal_insn_not_found
as macros that use _fatal_insn and _fatal_insn_not_found.
(fancy_abort, trim_filename): Kill prototypes.
* rtl.c (trim_filename): Move here from toplev.c.
(fancy_abort): New function.
(DIR_SEPARATOR): Provide default definition.
* tree.c (tree_check_failed, tree_class_check_failed): Go
through fancy_abort.
(tree_check, tree_class_check, cst_or_constructor_check,
expr_check): Delete.
* varray.c (varray_check_failed): New function.
* toplev.c (fatal_insn, fatal_insn_not_found): Replace with
_fatal_insn and _fatal_insn_not_found. Go through
fancy_abort.
(trim_filename, fancy_abort): Delete.
* builtins.c (expand_builtin_args_info): Report ICE with abort.
* except.c (start_catch_handler): Report ICE with error/abort
combo.
* final.c (output_operand_lossage): Likewise.
* flow.c (verify_flow_info): Likewise.
* gcc.c: Prototype fatal.
* gengenrtl.c: Undef abort after including rtl.h not system.h.
* genattr.c, genattrtab.c, genemit.c, genextract.c,
genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
Don't define fancy_abort.
From-SVN: r28889
Mark Mitchell [Thu, 26 Aug 1999 04:19:52 +0000 (04:19 +0000)]
decl.c (grokdeclarator): Amend comment.
* decl.c (grokdeclarator): Amend comment.
* except.c (expand_start_catch_block): Call push_template_decl for
catch-block parameters.
* method.c (synthesize_method): Build an empty compound statement
for the body of a constructor.
From-SVN: r28888
Jason Merrill [Thu, 26 Aug 1999 02:25:45 +0000 (22:25 -0400)]
new
From-SVN: r28887
Jason Merrill [Thu, 26 Aug 1999 02:19:26 +0000 (02:19 +0000)]
tree.c (cp_build_qualified_type_real): If we're asking for the same quals we already have, just return.
* tree.c (cp_build_qualified_type_real): If we're asking for the
same quals we already have, just return.
From-SVN: r28886
Richard Henderson [Thu, 26 Aug 1999 00:59:14 +0000 (17:59 -0700)]
optabs.c (emit_cmp_and_jump_insns): Be more thorough in canonization.
* optabs.c (emit_cmp_and_jump_insns): Be more thorough in
canonization.
From-SVN: r28885
Richard Henderson [Wed, 25 Aug 1999 22:40:16 +0000 (15:40 -0700)]
m88k.h (VERSION_INFO2): Kill.
* m88k.h (VERSION_INFO2): Kill.
(VERSION_STRING): Kill.
(TM_RCS_ID): Kill.
(VERSION_INFO1): Tidy.
(TARGET_VERSION): Update.
* m88k/dgux.h (VERSION_INFO2): Kill.
(ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
* m88k/luna.h (VERSION_INFO1): Tidy.
* m88k/sysv4.h (VERSION_INFO1): Likewise.
* m88k.c (out_rcs_id, tm_rcs_id): Kill.
(output_file_start): Adjust for death of VERSION_STRING.
From-SVN: r28881
Mark Mitchell [Wed, 25 Aug 1999 22:07:18 +0000 (22:07 +0000)]
cp-tree.def (SUBOBJECT): New tree node.
* cp-tree.def (SUBOBJECT): New tree node.
* cp-tree.h (CLEANUP_P): New macro.
(SUBOBJECT_CLEANUP): Likewise.
(keep_next_level): Add parameter.
(get_temp_regvar): Don't declare.
(emit_base_init): Remove parameter.
(expand_aggr_init): Rename to build_aggr_init.
(expand_vec_init): Rename to build_vec_init.
(do_pushlevel): Remove.
(do_poplevel): Likewise.
(finish_cleanup): New function.
(finish_subobject): Likewise.
(stmts_are_full_exprs_p): New variable.
* decl.c (keep_next_level): Add parameter.
(cp_finish_decl): Use build_aggr_init, not
expand_aggr_init. Use finish_expr_stmt to expand the code.
(expand_static_init): Use tree-generating, not RTL-generating,
functions to handle the initialization.
(start_function): Remove dead code. Always have a momentary
obstack inside the function, even before hitting the first curly
brace.
(cplus_expand_expr_stmt): Move calls to
expand_{start,end}_target_temps into semantics.c.
(cp_function): Add stmts_are_full_exprs_p.
(push_cp_function_context): Save it.
(pop_cp_function_context): Restore it.
* decl2.c (get_temp_regvar): Move to init.c.
(do_static_initialization): Use build_{aggr,vec}_init.
(do_static_destruction): Fix typo in comment.
* dump.c (dequeue_and_dump): Handle INIT_EXPR.
* except.c (expand_throw): Use create_temporary_var.
* expr.c (cplus_expand_expr): Use build_{aggr,vec}_init.
* init.c (expand_vec_init_try_block): Remove.
(expand_vec_init_catch_clause): Likewise.
(get_temp_regvar): New function.
(begin_init_stmts): Likewise.
(finish_init_stmts): Likewise.
(perform_member_init): Use build_{aggr,vec}_init. Build up tree
structure here.
(emit_base_init): Likewise. Remove unused parameter.
(expand_virtual_init): Likewise.
(expand_cleanup_for_base): Use finish_subobject.
(expand_aggr_vbase_init_1): Simplify.
(construct_virtual_bases): Use tree-generating functions to build
up initialization.
(expand_aggr_init): Likewise. Rename to build_aggr_init.
(expand_default_init): Likewise.
(expand_aggr_init_1): Likewise.
(expand_vec_init): Rename to build_vec_init.
* method.c (do_build_copy_constructor): Use tree-generating
functions. Don't call clear_last_expr.
(do_build_assign_ref): Likewise.
(synthesize_method): Call clear_last_expr here.
* parse.y (base_init): Don't call clear_last_expr here.
(nodecls): Likewise.
* pt.c (tsubst_expr): Handle a TRY_BLOCK with CLEANUP_P set.
* semantics.c (do_pushlevel): Move to here.
(do_poplevel): Likewise.
(stmts_are_full_exprs_p): New variable.
(finish_expr_stmt): Handle logic for temoprary cleanup here.
(finish_for_stmt): Use finish_expr_stmt.
(finish_cleanup): New function.
(finish_function_try_block): Fix indentation.
(finish_subobject): New function.
(setup_vtbl_ptr): Call keep_next_level here.
(finish_stmt_expr): Handle a block with no scope inside the
statement-expression.
(expand_stmt): Handle a TRY_BLOCK with CLEANUP_P set. Handle
SUBOBJECT.
* tree.c (search_tree): Handle INIT_EXPR.
(mapcar): Likewise.
* typeck.c (build_modify_expr): Don't build an RTL_EXPR.
* typeck2.c (store_init_value): Change expand_aggr_init to
build_aggr_init in comment.
From-SVN: r28878
Jim Meyering [Wed, 25 Aug 1999 22:01:36 +0000 (22:01 +0000)]
cpplib.c (detect_if_not_defined): New function.
1999-08-25 13:51 -0700 Jim Meyering <meyering@ascend.com>
* cpplib.c (detect_if_not_defined): New function.
(do_if): Use it to detect potential once-only headers.
From-SVN: r28877
Paul Burchard [Wed, 25 Aug 1999 21:48:16 +0000 (21:48 +0000)]
lss-001.C, [...]: New tests.
* g++.old-deja/g++.pt/lss-001.C, lss-002.C, lss-003.C, lss-004.C,
lss-005.C, lss-006.C, lss-007.C, lss-008.C, lss-009.C, lss-010.C,
lss-011.C: New tests.
From-SVN: r28874
Jason Merrill [Wed, 25 Aug 1999 21:05:16 +0000 (21:05 +0000)]
* c-common.c (combine_strings): Always set TREE_CONSTANT.
From-SVN: r28873
Gavin Romig-Koch [Wed, 25 Aug 1999 19:29:43 +0000 (19:29 +0000)]
combine.c (nonzero_bits): Allow single-ly set registers to be anywere in the function only if...
* combine.c (nonzero_bits) : Allow single-ly set registers to be
anywere in the function only if they are pseudos and set before
being used (not live at the start of the function).
(num_sign_bit_copies) : Same.
(get_last_value_validate) : Same.
(get_last_value) : Same.
From-SVN: r28871
Tom Tromey [Wed, 25 Aug 1999 18:38:58 +0000 (18:38 +0000)]
G19990304_01.out: New file.
* libjava.toshiba/G19990304_01.out: New file.
* libjava.toshiba/G19990304_01.java: New file.
From-SVN: r28870
Tom Tromey [Wed, 25 Aug 1999 18:37:05 +0000 (18:37 +0000)]
* jvspec.c (lang_specific_driver): Correctly handle --help again.
From-SVN: r28869