diff options
author | Brendan Kehoe <brendan@gcc.gnu.org> | 1996-06-19 15:19:27 -0400 |
---|---|---|
committer | Brendan Kehoe <brendan@gcc.gnu.org> | 1996-06-19 15:19:27 -0400 |
commit | fbe912dd099f284e1db21de74ea40ad81e72c84e (patch) | |
tree | 4c64258057e83e5dfb958636fad0c5e36ec817d1 /gcc | |
parent | d9ad9b6ca3432147e6846cc862ab813d63e1e097 (diff) | |
download | gcc-fbe912dd099f284e1db21de74ea40ad81e72c84e.zip gcc-fbe912dd099f284e1db21de74ea40ad81e72c84e.tar.gz gcc-fbe912dd099f284e1db21de74ea40ad81e72c84e.tar.bz2 |
toplev.c (flag_keep_static_consts): Define.
* toplev.c (flag_keep_static_consts): Define.
(f_options): Add "keep-static-consts" entry.
(compile_file): Check it in addition to !optimize for emitting
static const variables.
From-SVN: r12310
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/toplev.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index fd64361..37579a5 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -460,6 +460,11 @@ int flag_keep_inline_functions; int flag_no_inline; +/* Nonzero means that we should emit static const variables + regardless of whether or not optimization is turned on. */ + +int flag_keep_static_consts = 1; + /* Nonzero means we should be saving declaration info into a .X file. */ int flag_gen_aux_info = 0; @@ -575,6 +580,7 @@ struct { char *string; int *variable; int on_value;} f_options[] = {"inline-functions", &flag_inline_functions, 1}, {"keep-inline-functions", &flag_keep_inline_functions, 1}, {"inline", &flag_no_inline, 0}, + {"keep-static-consts", &flag_keep_static_consts, 1}, {"syntax-only", &flag_syntax_only, 1}, {"shared-data", &flag_shared_data, 1}, {"caller-saves", &flag_caller_saves, 1}, @@ -2360,7 +2366,8 @@ compile_file (name) /* Don't write out static consts, unless we still need them. - We also keep static consts if not optimizing (for debugging). + We also keep static consts if not optimizing (for debugging), + unless the user specified -fno-keep-static-consts. ??? They might be better written into the debug information. This is possible when using DWARF. @@ -2385,7 +2392,7 @@ compile_file (name) if (TREE_CODE (decl) == VAR_DECL && TREE_STATIC (decl) && (! TREE_READONLY (decl) || TREE_PUBLIC (decl) - || !optimize + || (!optimize && flag_keep_static_consts) || TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))) { reconsider = 1; |