From ad087b92db9cd796f6ca3e2c3d5730a4d1b5fda0 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Wed, 18 Apr 2001 06:15:38 +0000 Subject: [PATCH] dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined, use it instead of blindly generating a .stabs. * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined, use it instead of blindly generating a .stabs. * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type in the right place. * xcoffout.c: Don't bother defining default for N_CATCH. (UNKNOWN_STAB): Use internal_error. (stab_to_sclass): Remove now-unnecessary aborts. Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block. From-SVN: r41404 --- gcc/ChangeLog | 51 ++++++++++++++++++++++++++++++-------------------- gcc/dbxout.c | 4 ++++ gcc/xcoffout.c | 44 +++++++++---------------------------------- gcc/xcoffout.h | 4 ++++ 4 files changed, 48 insertions(+), 55 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 577a11d161d..452da430fe6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2001-04-17 Zack Weinberg + + * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined, + use it instead of blindly generating a .stabs. + * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type + in the right place. + * xcoffout.c: Don't bother defining default for N_CATCH. + (UNKNOWN_STAB): Use internal_error. + (stab_to_sclass): Remove now-unnecessary aborts. + Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block. + Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com) * jump.c (mark_all_labels): Canonicalize the tail recursion @@ -92,7 +103,7 @@ Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com) * pa.md (reload_outdi): Operand 0 must be a non hard register. - * pa.c (secondary_reload_class): SAR<->FP copies require a + * pa.c (secondary_reload_class): SAR<->FP copies require a secondary register. * install.texi (mips-mips-bsd): Update list of functions @@ -149,8 +160,8 @@ Fri Apr 13 21:40:28 2001 Loren J. Rittle 2001-04-13 Alan Modra - * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM - fp mode addresses. + * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM + fp mode addresses. 2001-04-13 Kaveh R. Ghazi @@ -500,12 +511,12 @@ Thu Apr 12 18:13:37 2001 Rodney Brown eliminate_constant_term, expand_complex_abs, find_single_use, make_tree, init_expr_once, init_optabs, supports_one_only): Likewise. - + * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return, rest_of_type_compilation, emit_queue, do_pending_stack_adjust, expand_assignment, store_expr, emit_line_note_after, emit_line_note_force, split_specs_attrs, label_rtx): Likewise. - + * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype. * sparc-protos.h: Delete redundant prototypes. @@ -558,7 +569,7 @@ Tue Apr 10 17:45:50 2001 Richard Kenner 2001-04-10 Andrew MacLeod - * function.c (purge_single_hard_subreg_set): Only check REGNO if + * function.c (purge_single_hard_subreg_set): Only check REGNO if the subreg was a hard register. Pseudos are left as subregs. 2001-04-29 Franz Sirl @@ -566,7 +577,7 @@ Tue Apr 10 17:45:50 2001 Richard Kenner * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro. (LIB2ADD_ST): New macro, pass it to mklibgcc. * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST. - (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a. + (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a. * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro. 2001-04-09 Bo Thorsen @@ -575,7 +586,7 @@ Tue Apr 10 17:45:50 2001 Richard Kenner 2001-04-09 Andrew MacLeod - * output.h (set_block_num): Missed it earlier, remove deprecated + * output.h (set_block_num): Missed it earlier, remove deprecated prototype. 2001-04-09 Andrew MacLeod @@ -585,29 +596,29 @@ Tue Apr 10 17:45:50 2001 Richard Kenner (oprs_not_set_p): Pass basic_blocks instead of ints as parameters. (handle_rd_kill_set): Change bb parameter from int to basic_block. (compute_kill_rd): Pass basic_blocks instead of ints as parameters. - (expr_killed_p): Change bb parameter from int to basic_block, pass + (expr_killed_p): Change bb parameter from int to basic_block, pass basic_blocks instead of ints as parameters. (compute_ae_kill): Pass basic_blocks instead of ints as parameters. - (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter + (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter from int to basic_block, pass basic_blocks instead of ints as parms. - (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb + (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb parameter from int to basic_block, pass basic_blocks instead of ints. (process_insert_insn): Pass basic_blocks instead of ints as parameters. - (insert_insn_end_bb): Change bb parameter from int to basic_block, + (insert_insn_end_bb): Change bb parameter from int to basic_block, pass basic_blocks instead of ints. - (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass + (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass basic_blocks instead of ints as parameters. (pre_delete): Pass basic_blocks instead of ints as parameters. - (hoist_expr_reaches_here_p): Change bb parameter from int to + (hoist_expr_reaches_here_p): Change bb parameter from int to basic_block, pass basic_blocks instead of ints. (hoist_code): Pass basic_blocks instead of ints as parameters. - (reg_set_info, store_ops_ok, store_killed_after, store_killed_before): + (reg_set_info, store_ops_ok, store_killed_after, store_killed_before): Change bb parameter from int to basic_block. (build_store_vectors): Pass basic_blocks instead of ints as parameters. - (insert_insn_start_bb): Change bb parameter from int to basic_block, + (insert_insn_start_bb): Change bb parameter from int to basic_block, pass basic_blocks instead of ints. (insert_store): Pass basic_blocks instead of ints as parameters. - (replace_store_insn, delete_store): Change bb parameter from int to + (replace_store_insn, delete_store): Change bb parameter from int to basic_block, pass basic_blocks instead of ints. (store_motion): Pass basic_blocks instead of ints as parameters. @@ -618,7 +629,7 @@ Tue Apr 10 17:45:50 2001 Richard Kenner * flow.c (set_block_num): Remove obsolete function. (set_block_for_new_insns): Set BB for single or multiple insns. * gcse.c (handle_avail_expr): Use set_block_for_new_insns. - (process_insn_end_bb): Use set_block_for_new_insns or + (process_insn_end_bb): Use set_block_for_new_insns or set_block_for_insn instead of set_block_num. (pre_insert_copy_insn): Use set_block_for_new_insns. (update_ld_motion_stores): Use set_block_for_new_insns. @@ -634,13 +645,13 @@ Tue Apr 10 17:45:50 2001 Richard Kenner * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags. * gcse.c (struct ls_expr): Add load/store expressions structure. (modify_mem_list, canon_modify_mem_list): New variable. - (gcse_main): Initialize & finalize alias analysis. Use enhanced + (gcse_main): Initialize & finalize alias analysis. Use enhanced load motion and store motion if requested. (alloc_gcse_mem): Allocate space for modify_mem_list array. (free_gcse_mem): Free the modify_mem_list array. (oprs_unchanged_p): Use load_killed_in_block_p. (gcse_mems_conflict_p, gcse_mem_operand): New variables. - (mems_conflict_for_gcse_p): New function. Don't kill loads + (mems_conflict_for_gcse_p): New function. Don't kill loads with stores to themselves if its in the load/store expression list. (load_killed_in_block_p): New function. (canon_list_insert): New Function. diff --git a/gcc/dbxout.c b/gcc/dbxout.c index 4b58f0e6d50..31c859676e9 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -428,9 +428,13 @@ dbxout_init (asm_file, input_file_name, syms) ASM_OUTPUT_INTERNAL_LABEL (asmfile, "Ltext", 0); #endif /* no DBX_OUTPUT_MAIN_SOURCE_FILENAME */ +#ifdef DBX_OUTPUT_GCC_MARKER + DBX_OUTPUT_GCC_MARKER (asmfile); +#else /* Emit an N_OPT stab to indicate that this file was compiled by GCC. */ fprintf (asmfile, "%s\"%s\",%d,0,0,0\n", ASM_STABS_OP, STABS_GCC_MARKER, N_OPT); +#endif lastfile = input_file_name; diff --git a/gcc/xcoffout.c b/gcc/xcoffout.c index 6c8c2fe0599..ea0a5b7ced0 100644 --- a/gcc/xcoffout.c +++ b/gcc/xcoffout.c @@ -45,11 +45,6 @@ Boston, MA 02111-1307, USA. */ #include "gstab.h" #else #include - -/* This is a GNU extension we need to reference in this file. */ -#ifndef N_CATCH -#define N_CATCH 0x54 -#endif #endif /* Line number of beginning of current function, minus one. @@ -178,10 +173,7 @@ xcoff_output_standard_types (syms) /* Print an error message for unrecognized stab codes. */ #define UNKNOWN_STAB(STR) \ - do { \ - error ("Unknown stab %s: : 0x%x\n", STR, stab); \ - fflush (stderr); \ - } while (0) + internal_error ("No sclass for %s stab (0x%x)\n", STR, stab) /* Conversion routine from BSD stabs to AIX storage classes. */ @@ -196,7 +188,6 @@ stab_to_sclass (stab) case N_FNAME: UNKNOWN_STAB ("N_FNAME"); - abort (); case N_FUN: return C_FUN; @@ -208,7 +199,6 @@ stab_to_sclass (stab) #ifdef N_MAIN case N_MAIN: UNKNOWN_STAB ("N_MAIN"); - abort (); #endif case N_RSYM: @@ -216,7 +206,6 @@ stab_to_sclass (stab) case N_SSYM: UNKNOWN_STAB ("N_SSYM"); - abort (); case N_RPSYM: return C_RPSYM; @@ -232,59 +221,43 @@ stab_to_sclass (stab) case N_SO: UNKNOWN_STAB ("N_SO"); - abort (); case N_SOL: UNKNOWN_STAB ("N_SOL"); - abort (); case N_SLINE: UNKNOWN_STAB ("N_SLINE"); - abort (); #ifdef N_DSLINE case N_DSLINE: UNKNOWN_STAB ("N_DSLINE"); - abort (); #endif #ifdef N_BSLINE case N_BSLINE: UNKNOWN_STAB ("N_BSLINE"); - abort (); -#endif -#if 0 - /* This has the same value as N_BSLINE. */ - case N_BROWS: - UNKNOWN_STAB ("N_BROWS"); - abort (); #endif #ifdef N_BINCL case N_BINCL: UNKNOWN_STAB ("N_BINCL"); - abort (); #endif #ifdef N_EINCL case N_EINCL: UNKNOWN_STAB ("N_EINCL"); - abort (); #endif #ifdef N_EXCL case N_EXCL: UNKNOWN_STAB ("N_EXCL"); - abort (); #endif case N_LBRAC: UNKNOWN_STAB ("N_LBRAC"); - abort (); case N_RBRAC: UNKNOWN_STAB ("N_RBRAC"); - abort (); case N_BCOMM: return C_BCOMM; @@ -295,31 +268,32 @@ stab_to_sclass (stab) case N_LENG: UNKNOWN_STAB ("N_LENG"); - abort (); case N_PC: UNKNOWN_STAB ("N_PC"); - abort (); #ifdef N_M2C case N_M2C: UNKNOWN_STAB ("N_M2C"); - abort (); #endif #ifdef N_SCOPE case N_SCOPE: UNKNOWN_STAB ("N_SCOPE"); - abort (); #endif +#ifdef N_CATCH case N_CATCH: UNKNOWN_STAB ("N_CATCH"); - abort (); +#endif + +#ifdef N_OPT + case N_OPT: + UNKNOWN_STAB ("N_OPT"); +#endif default: - UNKNOWN_STAB ("default"); - abort (); + UNKNOWN_STAB ("?"); } } diff --git a/gcc/xcoffout.h b/gcc/xcoffout.h index 2fb8ab3fb4e..e1c3e89298a 100644 --- a/gcc/xcoffout.h +++ b/gcc/xcoffout.h @@ -172,6 +172,10 @@ extern const char *xcoff_lastfile; } \ } +/* .stabx has the type in a different place. */ +#define DBX_OUTPUT_GCC_MARKER(FILE) \ + fprintf ((FILE), "%s\"%s\",0,%d,0\n", ASM_STABS_OP, STABS_GCC_MARKER, N_OPT) + /* Do not break .stabs pseudos into continuations. */ #define DBX_CONTIN_LENGTH 0 -- 2.30.2