aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
AgeCommit message (Collapse)AuthorFilesLines
1998-05-06stmt.c (mark_seen_cases): Make it have external linkage again.Jeffrey A Law1-3/+1
* stmt.c (mark_seen_cases): Make it have external linkage again. * expr.h (mark_seen_cases): Add declaration. Chill wants to use mark_seen_cases.... From-SVN: r19603
1998-05-06typo typo fixes fixesJeff Law1-2/+2
From-SVN: r19601
1998-05-06c-common.c: Convert to using ctype macros defined in system.h.Kaveh R. Ghazi1-3/+3
* c-common.c: Convert to using ctype macros defined in system.h. * c-lex.c: Likewise. * cccp.c: Likewise. * collect2.c: Likewise. * rs6000.c: Likewise. * cpplib.c: Likewise. * fix-header.c: Likewise. * gcc.c: Likewise. * gen-protos.c: Likewise. * pexecute.c: Likewise. * protoize.c: Likewise. * rtl.c: Likewise. * scan.c: Likewise. * stmt.c: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. From-SVN: r19579
1998-05-06toplev.h: New file.Robert Lipe1-0/+1
Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com> * toplev.h: New file. Protypes for functions in toplev.c. * tree.h, rtl.h: Deleted protos for functions in toplev.c. * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c, c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c, convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c, function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c, reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c, varasm.c: include it. From-SVN: r19564
1998-05-05* Check in merge from gcc2. See ChangeLog.12 for details.Jeff Law1-5/+0
From-SVN: r19553
1998-04-21Fix fortran failure reported by Craig Burley.Jim Wilson1-6/+8
* stmt.c (check_seenlabel): When search for line number note for warning, handle case where there is no such note. From-SVN: r19364
1998-04-17stmt.c (mark_seen_cases): Make static and add prototype.Jeff Law1-2/+3
8 * stmt.c (mark_seen_cases): Make static and add prototype. From-SVN: r19264
1998-04-16varasm.c (asm_output_bss): Add prototype.Jeff Law1-0/+1
* varasm.c (asm_output_bss): Add prototype. (asm_output_aligned_bss): Likewise. * unroll.c (verify_addresses): Add prototype. * toplev.c: Add many prototypes. Too many to mention here. * stmt.c (check_seenlabel): Add prototype. * rtlanal.c (reg_set_p_1): Add prototype. (reg_set_last_1): Likewise. * reorg.c (find_dead_or_set_registers): Add prototype. * regmove (try_auto_increment): Add prototype. * regstack.c (pop_stack): Add prototype. From-SVN: r19254
1998-04-04* Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12Jeff Law1-5/+10
for details. * haifa-sched.c: Mirror recent changes from gcc2. From-SVN: r18984
1998-03-27stmt.c (expand_expr_stmt): Must generate code for statements within an ↵Craig Burley1-1/+1
expression (gcc's `({ ... * stmt.c (expand_expr_stmt): Must generate code for statements within an expression (gcc's `({ ... )}') even if -fsyntax-only. Patch from Craig. From-SVN: r18865
1998-03-23* stmt.c (unroll_block_trees): Free block_vector if needed.Jeffrey A Law1-1/+8
From-SVN: r18786
1998-03-20Major cutover to using system.h:Kaveh R. Ghazi1-7/+1
* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o, c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o, caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o, dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o, expr.o, final.o, flow.o, function.o, getpwd.o, global.o, integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o, prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o, reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o, rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o, tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend on system.h. * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c, c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c, caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c, dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c, expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c, integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c, prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c, reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c, rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c, stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c, xcoffout.c: Include system.h. Organize include ordering so that stdarg/varargs comes before other system headers. Remove spurious casts of functions assured of a prototype in system.h. From-SVN: r18726
1998-03-12c-decl (finish_struct): Change type of min_align to unsigned.Manfred Hollstein1-2/+2
d gcc/ChangeLog: * c-decl (finish_struct): Change type of min_align to unsigned. * cplus-dem.c (demangle_function_name): Change type of variable i to size_t; remove unused variable len. * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a comment indicating this is proper behaviour. (reg_loc_descriptor): Remove redundant comparison of unsigned variable reg >= 0. (based_loc_descr): Likewise. * enquire.c (bitpattern): Change type of variable i to unsigned. * final.c (output_asm_insn): Don't cast insn_noperands to unsigned. * flow.c (life_analysis): Change type of variable i to size_t; remove unused variable insn. * gcc.c (translate_options): Change type of variables optlen, arglen and complen to size_t. (input_filename_length): Change type to size_t. (do_spec_1): Change type of variable bufsize to size_t. (main): Change type of variables i and j to size_t; remove subblock local definition of variable i. (lookup_compiler): Change type of second argument to size_t; change type of variable i to size_t. * genemit.c (output_init_mov_optab): Change type of variable i to size_t. * genopinit.c (get_insn): Change type of variable pindex to size_t. * genrecog.c (add_to_sequence): Change type of variable i to size_t. * global.c (global_alloc): Change type of variable i to size_t. * regclass.c (init_reg_sets): Change type of variables i and j to unsigned. * stmt.c (expand_end_bindings): Change type of variable i to size_t. (expand_end_case): Change type of variable count to size_t. * toplev.c (main): Change type of variable j to size_t. (set_target_switch): Change type of variable j to size_t. (print_switch_values): Change type of variable j to size_t; remove unused variable flags. * varasm.c (assemble_variable): Change type of variable align to size_t. (const_hash_rtx): Change type of variable i to size_t. gcc/cp/ChangeLog: Sun Mar 8 17:13:38 1998 Manfred Hollstein <manfred@s-direktnet.de> * decl2.c (lang_decode_option): Change j's type to size_t. * tree.c (layout_vbasetypes): record_align and desired_align are of type unsigned int; const_size and nonvirtual_const_size likewise. From-SVN: r18490
1998-03-06rtl.h (addr_diff_vec_flags): New typedef.Joern Rennecke1-1/+2
* rtl.h (addr_diff_vec_flags): New typedef. (union rtunion_def): New member rt_addr_diff_vec_flags. (ADDR_DIFF_VEC_FLAGS): New macro. * sh.c (output_branch): Fix offset overflow problems. * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE. (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT. * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags). * stmt.c (expand_end_case): Supply new arguments to gen_rtx_ADDR_DIFF_VEC. * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY. * alpha.h, arc.h, clipper.h, convex.h : Likewise. * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise. * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise. * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise. * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise. * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise. * i386/386bsd.h, i386/freebsd-elf.h : Likewise. * i386/freebsd.h, i386/linux.h : Likewise. * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise. * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise. * m68k/mot3300.h, m68k/sgs.h : Likewise. * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise. * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define. (CASE_VECTOR_SHORTEN_MODE): Define. (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare. (med_branch_p, braf_branch_p): Don't declare. (mdep_reorg_phase, barrier_align): Declare. (ADJUST_INSN_LENGTH): Remove alignment handling. * sh.c (uid_align, uid_align_max): Deleted. (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted. (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted. (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted. (output_far_jump): Don't use braf_branch_p. (output_branchy_insn): Don't use branch_offset. (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs. Remove paired barrier stuff. Don't use cache_align_p. Take alignment insns into account. (fixup_addr_diff_vecs): Reduce to only fixing up the base label of the addr_diff_vec. (barrier_align, branch_dest): New function. (machine_dependent_reorg, split_branches): Remove infrastructure for branch shortening that is now provided in the backend. * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes. (braf_branch_p, braf_cbranch_p): Likewise. (attribute length): Use new attributes. (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC. (addr_diff_vec_adjust): Delete. (align_2): Now a define_expand. (align_log): Now length 0. From-SVN: r18433
1998-02-28Fix warious warnings:Kaveh R. Ghazi1-11/+11
* c-aux-info.c: Include string.h/strings.h. * pa.c: Include stdlib.h. (pa_combine_instructions): Prototype the function. (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise. (reloc_needed): Add default case for enumeration switch. (remove_useless_addtr_insns): Remove unused variable `all'. (hppa_expand_prologue): Add explicit braces to avoid ambiguous `else'. (output_function_epilogue): Remove unused variable `i'. (output_millicode_call): Remove unused variable `link'. (shadd_constant_p, forward_branch_p): Make the function static. (following_call): Explicitly declare to return int. (pa_reorg): Declare as void. (pa_combine_instructions): Declare as static void. Add parentheses around && within ||. * pa.h: Add prototypes for pa_reorg, symbolic_operand, following_call, function_label_operand, lhs_lshift_cint_operand and zdepi_cint_p. * pa.md: Add parentheses around && within ||. * cppalloc.c: Include stdlib.h. * cpperror.c (cpp_print_containing_files): Remove unused variable `i'. Fix format specifier in fprintf. * cse.c (cse_around_loop): Add explicit braces to avoid ambiguous `else'. (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0. * expr.c (expand_expr): Add parentheses around && within ||. * final.c (app_enable): Replace fprintf with fputs where there are no format specifiers and no trailing argument after the string. Eg, when printing ASM_APP_ON/ASM_APP_OFF. (app_disable): Likewise. (final_end_function): Likewise. (final_scan_insn): Likewise. Remove unused variable `set'. (profile_function): Wrap empty if-statement body in {} brackets. * function.c: Include stdlib.h. (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD. (reposition_prologue_and_epilogue_notes): Add parentheses around assignment used as truth value. * integrate.c (expand_inline_function): Wrap variable `cc0_insn' in macro HAVE_cc0. * jump.c (jump_optimize): Wrap variable `q' in macro HAVE_cc0. Remove unused variable `prev1'. * libgcc2.c (__bb_exit_trace_func): Add parentheses around && within ||. Fix format specifier in fprintf. (__bb_init_prg): Add parentheses around assignment used as truth value. * local-alloc.c: Include stdlib.h. (requires_inout): Add parentheses around assignment used as truth value. * loop.c (analyze_loop_iterations): Wrap prototype and definition in macro HAVE_decrement_and_branch_on_count. (insert_bct, instrument_loop_bct): Likewise. (move_movables): Add parentheses around assignment used as truth value. (consec_sets_invariant_p): Likewise. (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0. * objc/objc-act.c: Include stdlib.h. (lookup_method_in_protocol_list): Wrap empty else-statement body in braces. (lookup_protocol_in_reflist): Likewise. (objc_add_static_instance): Remove unused variables `decl_expr' and `decl_spec'. (get_objc_string_decl): Remove unused variable `decl'. (generate_static_references): Remove unused variables `idecl' and `instance'. (check_protocols): Wrap empty else-statement body in braces. * protoize.c: Include stdlib.h. (substr): Add parentheses around assignment used as truth value. (abspath): Likewise. (shortpath): Likewise. * regmove.c (fixup_match_1): Add parentheses around assignment used as truth value. * reload.c (push_secondary_reload): Remove unused variable `i'. (find_reloads): Add parentheses around assignment used as truth value. * reload1.c: Include stdlib.h. * rtl.h: Correct typo in prototype of offsettable_memref_p. * stmt.c (add_case_node): Add parentheses around assignment used as truth value. (case_tree2list): Likewise. * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list' in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE. (merge_attributes): Add explicit braces to avoid ambiguous `else'. * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in macro HAVE_cc0. * varasm.c: Include stdlib.h. From-SVN: r18290
1998-02-17Fix problems with last patch.J"orn Rennecke1-2/+9
From-SVN: r18033
1998-02-17rtl.h (force_line_numbers, [...]): Declare.Joern Rennecke1-60/+45
* rtl.h (force_line_numbers, restore_line_number_status): Declare. * emit-rtl.c (force_line_numbers, restore_line_number_status): New functions. * stmt.c (struct nesting): Replace seenlabel with line_number_status. (expand_start_case): Adjust to this change. (check_seenlabel): New function. (pushcase, pushcase_range, expand_endcase): Use it. From-SVN: r18031
1998-02-13Rats. Forgot to change copyrights on the first commit.Robert Lipe1-1/+1
From-SVN: r17902
1998-02-13c-lang.c (finish_file): Bracket declaration of static_ctors, static_dtors.Robert Lipe1-6/+5
* c-lang.c (finish_file): Bracket declaration of static_ctors, static_dtors. * calls.c (expand_call): Bracket declaration of 'rtx_before_call', 'old_stack_arg_under_construction' (emit_library_call): Bracket declaration of 'upper_bound', 'lower_bound', 'i', 'reg_parm_stack_space' (emit_library_call_value): Likewise. (store_one_arg): * collect2.c: include <unistd.h> when appropriate. Bracket declaration of 'exportf' and 'full_real_ld_suffix'. * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'. * explow.c (plus_constant_for_output_wide): Remove unused variable 'code'. (memory_address): Remove unused variable 'orig_x'. * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'. (write_const_num_delay_slots): Remove unused variable 'i'. * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'. (gen_insn): Remove unused variable 'obstack_ptr'. * libgcc2.c (__bb_exit_func): Remove unused variables 'ret', 'j', 'tmp', 'i'. (__bb_exit_trace_func): Remove unused variable 'e'. * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs', 'funexp'. (expand_unop): Remove unused variable 'funexp'. (expand_complex_abs): Remove unused variable 'funexp'. (init_optabs): Bracket declaration of 'j'. (init_complex_libfuncs): Deleted. Dead static function. * profile.c (branch_prob): Remove unused variables 'insn', 'dest'. * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths' (reg_to_stack): 'initialized', 'before_function_beg' explictly type as ints instead of defaulting. (emit_swap_insn): Remove unused variable 'i2'. (compare_for_stack_reg): Remove unused variable 'src_note'. * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'. * sched.c (actual_hazard): Bracket declaration of 'this_cost'. * stmt.c (add_case_node): Add parens for assignment used as truth. (all_cases_count): Remove unused variable 'count_high'. (mark_seen_cases): Remove unused variable 'i'. (check_for_full_enumeration_handling): Remove unused variable 't'. Bracket declaration of 'all_values', 'l'. * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>. * varasm.c (assemble_string): Remove unused variable 'i'. (immed_double_const): Remove unused variable 'in_current_obstack'. (immed_real_const_1): Likewise. (output_constant_pool): Remove unreferenced label 'done'. (output_constant): Remove unused variable 'x'. * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not a string. * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used as truth. From-SVN: r17901
1998-02-07c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.Robert Lipe1-6/+4
* c-common.c: Include <stdlib.h> and <string.h>/<strings.h>. * calls.c (expand_call): Remove unused variables funtree, n_regs, and tmpmode. * dbxout.c, except.c: Include <string.h>/<strings.h>. * explow.c: (plus_constant_for_output_wide) Removed unused variable all_constant. * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c, genrecog.c, global.c, integrate.c , stupid.c : Include <stdlib.h>. * genextract.c: (walk_rtx) Remove unused variable link. * genrecog.c: (concat) Remove unreferenced static function. * prefix.c: Include <string.h>/<strings.h>, <stdlib.h> * stmt.c: Include <stdlib.h>. (expand_asm_operands): Remove unused variable val1. (expand_return): Remove unused variable block. (pushcase): Remove unused variables l and n. (pushcaserange): Likewise. * unroll.c (unroll_loop): Remove unused variable temp. From-SVN: r17766
1998-02-05stmt.c (expand_asm_operands): Correctly identify asm statements no operands.Jeffrey A Law1-3/+1
* stmt.c (expand_asm_operands): Correctly identify asm statements no operands. From-SVN: r17673
1998-01-20Remove more bytecode stuff.Jeffrey A Law1-1/+0
From-SVN: r17436
1998-01-20Makefile.in: Remove all bytecode support.Jeffrey A Law1-903/+39
* Makefile.in: Remove all bytecode support. (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS. * emit-rtl.c: Remove all bytecode support. * expr.c, expr.h function.c, integrate.c: Likewise. * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise. * tree.h, varasm.c: Likewise. * bi-*, bc-*: Delete bytecode related files. Bytecode suppors disappears :-) From-SVN: r17432
1998-01-14alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO...Richard Henderson1-43/+43
* alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO; change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...). * caller-save.c, calls.c, combine.c, cse.c: Likewise. * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise. * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise. * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise. * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise. * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise. * unroll.c, varasm.c: Likewise. * config/alpha/alpha.c, config/alpha/alpha.md: Likewise. From-SVN: r17357
1998-01-14Bring in final gcc-2.8.0 changes.Jeff Law1-1/+4
From-SVN: r17355
1997-12-19expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an expression.Ian Lance Taylor1-7/+6
* expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an expression. * stmt.c (expand_end_case): Likewise. * alpha.h (CASE_VECTOR_PC_RELATIVE): Update. * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise. * rs6000.h, sh.h, tahoe.h, v850.h vax.h z8k.h: Likewise. From-SVN: r17155
1997-12-18tree.c (build_range_type): Allow creation of ranges with no maximum.Richard Henderson1-1/+13
* tree.c (build_range_type): Allow creation of ranges with no maximum. * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE. * dwarf2out.c (add_subscript_info): Likewise. * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise. * sdbout.c (plain_type_1): Likewise. * stmt.c (pushcase_range, all_cases_count, node_has_high_bound): Likewise. * fold-const.c (int_const_binop, fold_convert, make_range, fold): Likewise. From-SVN: r17142
1997-12-15stmt.c (expand_asm_operands): If an ASM has no outputs, then treat it as ↵Jeffrey A Law1-0/+4
volatile. * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat it as volatile. From-SVN: r17100
1997-12-11Another handful of gcc-2.8 changes (will it ever go out the door?).Jeff Law1-1/+5
See ChangeLog.11 for details. From-SVN: r17040
1997-12-06Merge from gcc-2.8Jeff Law1-28/+39
From-SVN: r16987
1997-12-06loop.c (invariant_p): Don't test flag_rerun_loop_opt.Jeff Law1-0/+1
* loop.c (invariant_p): Don't test flag_rerun_loop_opt. (loop_optimize, scan_loop, strength_reduce): New argument unroll_p. * toplev.c (rest_of_compilation): Pass it. Remove code to save / clear / restore flag_unroll_{,all_}loops. * i386.c (notice_update_cc): Remove bogus pentium GCC code. * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR. Various pending patches. From-SVN: r16973
1997-12-03except.c (expand_fixup_region_end): New fn.Jason Merrill1-0/+7
* except.c (expand_fixup_region_end): New fn. (expand_fixup_region_start): Likewise. (expand_eh_region_start_tree): Store cleanup into finalization here. * stmt.c (expand_cleanups): Use them to protect fixups. From-SVN: r16929
1997-12-02* stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.Jason Merrill1-0/+2
From-SVN: r16896
1997-11-21* stmt.c (expand_end_bindings): Allow jump into block with cleanups.Bruno Haible1-4/+4
From-SVN: r16654
1997-11-10stmt.c (expand_decl_cleanup_no_eh): New fn.Jason Merrill1-0/+13
* stmt.c (expand_decl_cleanup_no_eh): New fn. * except.c (expand_leftover_cleanups): do_pending_stack_adjust. Complete nested exception support. * except.c (do_pop_exception): Split out... (push_eh_cleanup): From here. Handle the EH region by hand. (expand_start_catch_block): Add a new level for the catch parm. Move the rethrow region outside the two cleanup regions. Protect the initializer for the catch parm with terminate. (expand_end_catch_block): Likewise. End the region for the eh_cleanup. * exception.cc (__cp_pop_exception): Now takes two parms. Handle popping off the middle of the stack. * tree.c (lvalue_p, real_lvalue_p): Handle TRY_CATCH_EXPR, WITH_CLEANUP_EXPR, and UNSAVE_EXPR. (build_cplus_new): Only wrap CALL_EXPRs. * init.c (expand_default_init): Handle a TRY_CATCH_EXPR around the constructor call. From-SVN: r16419
1997-11-02Update mainline egcs to gcc2 snapshot 971021.Jeff Law1-2/+20
From-SVN: r16278
1997-08-20stmt.c (start_cleanup_deferal, [...]): Test block_stack before dereferencing it.Jim Wilson1-2/+8
* stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test block_stack before dereferencing it. From-SVN: r14861
1997-08-02(expand_computed_goto): If -fcheck-memory-usage, check that computed address ↵Richard Kenner1-1/+19
of a goto is executable. (expand_computed_goto): If -fcheck-memory-usage, check that computed address of a goto is executable. (expand_asm, expand_asm_operands): If -fcheck-memory-usage, disallow asm statments. From-SVN: r14616
1997-07-17(expand_decl): If stack checking, use alloca for large vars.Richard Kenner1-1/+5
From-SVN: r14472
1997-06-11stmt.c (expand_decl_cleanup): Avoid core dumping when exceptions aren't on.Mike Stump1-3/+4
* stmt.c (expand_decl_cleanup): Avoid core dumping when exceptions aren't on. From-SVN: r14226
1997-04-29except.c (expand_eh_region_start_tree): Add DECL argument so we can better ↵Mike Stump1-15/+27
track why the region was made for error... * except.c (expand_eh_region_start_tree): Add DECL argument so we can better track why the region was made for error reporting. * except.h (expand_eh_region_start_tree): Likewise. * tree.h (expand_dhc_cleanup): Likewise. (expand_dcc_cleanup): Likewise. * except.c (expand_eh_region_start_for_decl): New routine. * except.h (expand_eh_region_start_for_decl): Likewise. * stmt.c (expand_decl_cleanup): Add DECL to call of expand_eh_region_start_tree. (expand_dcc_cleanup): Likewise. (expand_dhc_cleanup): Likewise. (expand_start_case): Switches introduce conditional contexts. (expand_start_case_dummy): Likewise. (expand_start_case_dummy): Likewise. (expand_end_case): Likewise. From-SVN: r13990
1997-04-26(pushcase_range): [try to] properly apply previous patch of empty range test.Doug Evans1-4/+4
From-SVN: r13985
1997-04-24(pushcase_range): Check for null range first.Richard Kenner1-7/+7
From-SVN: r13977
1997-04-23Add setjmp/longjmp exception handling.Mike Stump1-55/+339
From-SVN: r13968
1997-02-10stmt.c (group_case_nodes): Recognize more opportunities to group case nodes.Jeff Law1-1/+7
* stmt.c (group_case_nodes): Recognize more opportunities to group case nodes. From-SVN: r13624
1996-10-30(expand_asm_operands): Disallow matching constraints on output andRichard Kenner1-7/+13
validate the numbers on inputs. From-SVN: r13077
1996-10-23returnJason Merrill1-3/+8
From-SVN: r13009
1996-09-29(expand_decl): Use mark_user_reg and simplify code.Richard Kenner1-0/+1
From-SVN: r12871
1996-09-29(expand_asm_operands): Fix errors in previous patches.Richard Kenner1-26/+10
From-SVN: r12860
1996-09-29(fixup_gotos): When running undefined labels, if no cleanup actionsRichard Kenner1-2/+3
for this block, don't clear BEFORE_JUMP. From-SVN: r12854