aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2011-04-15 21:48:19 +0000
committerMichael Matz <matz@gcc.gnu.org>2011-04-15 21:48:19 +0000
commitc76f8d52e24c089bbe598e08ef5813e91f02924d (patch)
treef0232500e3e80f82cf9bf3ed6decd6681d9ccc9a /gcc/fortran/options.c
parent5678a5a3bf407b6aa95e827ac6dd1056cdf6b415 (diff)
downloadgcc-c76f8d52e24c089bbe598e08ef5813e91f02924d.zip
gcc-c76f8d52e24c089bbe598e08ef5813e91f02924d.tar.gz
gcc-c76f8d52e24c089bbe598e08ef5813e91f02924d.tar.bz2
trans-array.c (toplevel): Include gimple.h.
* trans-array.c (toplevel): Include gimple.h. (gfc_trans_allocate_array_storage): Check flag_stack_arrays, properly expand variable length arrays. (gfc_trans_auto_array_allocation): If flag_stack_arrays create variable length decls and associate them with their scope. * gfortran.h (gfc_option_t): Add flag_stack_arrays member. * options.c (gfc_init_options): Handle -fstack_arrays option. * lang.opt (fstack-arrays): Add option. * invoke.texi (Code Gen Options): Document it. * Make-lang.in (trans-array.o): Depend on GIMPLE_H. From-SVN: r172524
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r--gcc/fortran/options.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c
index 0083460..5e17308 100644
--- a/gcc/fortran/options.c
+++ b/gcc/fortran/options.c
@@ -124,6 +124,7 @@ gfc_init_options (unsigned int decoded_options_count,
/* Default value of flag_max_stack_var_size is set in gfc_post_options. */
gfc_option.flag_max_stack_var_size = -2;
+ gfc_option.flag_stack_arrays = 0;
gfc_option.flag_range_check = 1;
gfc_option.flag_pack_derived = 0;
@@ -795,6 +796,10 @@ gfc_handle_option (size_t scode, const char *arg, int value,
gfc_option.flag_max_stack_var_size = value;
break;
+ case OPT_fstack_arrays:
+ gfc_option.flag_stack_arrays = value;
+ break;
+
case OPT_fmodule_private:
gfc_option.flag_module_private = value;
break;