aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2003-06-26 20:04:40 -0700
committerDevang Patel <dpatel@gcc.gnu.org>2003-06-26 20:04:40 -0700
commit6a08f7b337df863c8835f0fc66fd65d72c3824c8 (patch)
treed83a8d6ed732288799e53eadf75a909cdffd8111 /gcc/toplev.c
parent6ba701c8e99bcf81604a3bf9f69544434edd239e (diff)
downloadgcc-6a08f7b337df863c8835f0fc66fd65d72c3824c8.zip
gcc-6a08f7b337df863c8835f0fc66fd65d72c3824c8.tar.gz
gcc-6a08f7b337df863c8835f0fc66fd65d72c3824c8.tar.bz2
final.c (debug_flush_symbol_queue): New function.
* final.c (debug_flush_symbol_queue): New function. (debug_queue_symbol): New function. (debug_free_queue): New function. (debug_nesting): New variable. (symbol_queue): New variable. (symbol_queue_index): Same. (symbol_queue_size): Same. * debug.h (debug_flush_symbol_queue): New. (debug_queue_symbol): New. (debug_free_queue): New. (debug_nesting): New. (symbol_queue_index): New. * dbxout.c (DBXOUT_DECR_NESTING): New macro. (DBXOUT_DECR_NESTING_AND_RETURN): New macro. (dbxout_init): Delay symbol output. (dbxout_global_decl): Save, set and reset TREE_USED bit around dbxout_symbol() call. (dbxout_begin_function): Same. (dbxout_finish): Free symbol queue. (dbxout_type): Put appropriate symbols in queue. (dbxout_symbol): Put info for symbol's type in queue. Decrement/Increment nesting counts flush symbol queue appropriately. (dbxout_parms): Increment dbxout nesting. (dbxout_reg_parms): Same. * flags.h (flag_debug_only_used_symbols): New. * toplev.c (flag_debug_only_used_symbols): New variable. (lang_independent_options): Add entries for new option -feliminate-unused-debug-symbols. * common.opt: Add entry for -feliminate-unused-debug-symbols. * opts.c (common_handle_options): Same. * config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as -feliminate-unused-debug-symbols. * doc/invoke.texi (Debugging Options): Document -feliminate-unused-debug-symbols. From-SVN: r68556
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 6d1dd44..6fd02eb 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -402,6 +402,9 @@ int flag_eliminate_dwarf2_dups = 0;
int flag_eliminate_unused_debug_types = 1;
+/* Nonzero means emit debugging information only for symbols which are used. */
+int flag_debug_only_used_symbols = 0;
+
/* Nonzero if generating code to do profiling. */
int profile_flag = 0;
@@ -1056,6 +1059,8 @@ static const lang_independent_options f_options[] =
N_("Perform DWARF2 duplicate elimination") },
{"eliminate-unused-debug-types", &flag_dummy, 1,
N_("Perform unused type elimination in debug info") },
+ {"eliminate-unused-debug-symbols", &flag_dummy, 1,
+ N_("Perform unused type elimination in debug info") },
{"float-store", &flag_dummy, 1,
N_("Do not store floats in registers") },
{"defer-pop", &flag_dummy, 1,
@@ -4584,6 +4589,21 @@ general_init (char *argv0)
init_ggc ();
init_stringpool ();
init_ttree ();
+
+ /* APPLE LOCAL setrlimit */
+#ifdef RLIMIT_STACK
+ /* Get rid of any avoidable limit on stack size. */
+ {
+ struct rlimit rlim;
+
+ /* Set the stack limit huge. (Compiles normally work within
+ a megabyte of stack, but the normal limit on OSX is 512K for
+ some reason.) */
+ getrlimit (RLIMIT_STACK, &rlim);
+ rlim.rlim_cur = rlim.rlim_max;
+ setrlimit (RLIMIT_STACK, &rlim);
+ }
+#endif /* RLIMIT_STACK defined */
}
/* Parse command line options and set default flag values, called