aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2001-04-18 06:15:38 +0000
committerZack Weinberg <zack@gcc.gnu.org>2001-04-18 06:15:38 +0000
commitad087b92db9cd796f6ca3e2c3d5730a4d1b5fda0 (patch)
tree890e674f479298825b48ff5b827cd8d6c288f352 /gcc
parent599d54fd8e0f0cdd0332af0b9c02825f7c0a1599 (diff)
downloadgcc-ad087b92db9cd796f6ca3e2c3d5730a4d1b5fda0.zip
gcc-ad087b92db9cd796f6ca3e2c3d5730a4d1b5fda0.tar.gz
gcc-ad087b92db9cd796f6ca3e2c3d5730a4d1b5fda0.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog51
-rw-r--r--gcc/dbxout.c4
-rw-r--r--gcc/xcoffout.c44
-rw-r--r--gcc/xcoffout.h4
4 files changed, 48 insertions, 55 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 577a11d..452da43 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2001-04-17 Zack Weinberg <zackw@stanford.edu>
+
+ * 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 <ljrittle@acm.org>
2001-04-13 Alan Modra <alan@linuxcare.com.au>
- * 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 <ghazi@caip.rutgers.edu>
@@ -500,12 +511,12 @@ Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com>
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 <kenner@vlsi1.ultra.nyu.edu>
2001-04-10 Andrew MacLeod <amacleod@redhat.com>
- * 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 <Franz.Sirl-kernel@lauterbach.com>
@@ -566,7 +577,7 @@ Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* 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 <bo@suse.co.uk>
@@ -575,7 +586,7 @@ Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-04-09 Andrew MacLeod <amacleod@redhat.com>
- * 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 <amacleod@redhat.com>
@@ -585,29 +596,29 @@ Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
(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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 4b58f0e..31c8596 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 6c8c2fe..ea0a5b7 100644
--- a/gcc/xcoffout.c
+++ b/gcc/xcoffout.c
@@ -45,11 +45,6 @@ Boston, MA 02111-1307, USA. */
#include "gstab.h"
#else
#include <stab.h>
-
-/* 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 2fb8ab3..e1c3e89 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