diff options
author | Janus Weil <janus@gcc.gnu.org> | 2008-09-22 13:45:02 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2008-09-22 13:45:02 +0200 |
commit | f613cea7fc41d8133a083ced6cc0a11b9312f110 (patch) | |
tree | 5ace57c212233d9f04bcb96b875d8137f2545d01 /gcc/fortran/options.c | |
parent | 22868cbf560231317a5c82348c08d396fa29f471 (diff) | |
download | gcc-f613cea7fc41d8133a083ced6cc0a11b9312f110.zip gcc-f613cea7fc41d8133a083ced6cc0a11b9312f110.tar.gz gcc-f613cea7fc41d8133a083ced6cc0a11b9312f110.tar.bz2 |
re PR fortran/37486 (alignment of data in COMMON blocks)
2008-09-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/37486
* gfortran.h (gfc_option_t): New members flag_align_commons and
warn_align_commons.
* lang.opt: New options falign-commons and Walign-commons.
* invoke.texi: Documentation for new options.
* options.c (gfc_init_options): Initialize new options.
(gfc_handle_options): Handle new options.
* trans-common.c (translate_common): Implement new options.
(gfc_trans_common): Set correct locus.
2008-09-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/37486
* gfortran.dg/common_align_1.f90: New.
* gfortran.dg/warn_align_commons.f90: New.
From-SVN: r140546
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r-- | gcc/fortran/options.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index 4ecb8f9..52174b3 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -78,6 +78,7 @@ gfc_init_options (unsigned int argc, const char **argv) gfc_option.warn_underflow = 1; gfc_option.warn_intrinsic_shadow = 0; gfc_option.warn_intrinsics_std = 0; + gfc_option.warn_align_commons = 1; gfc_option.max_errors = 25; gfc_option.flag_all_intrinsics = 0; @@ -117,6 +118,7 @@ gfc_init_options (unsigned int argc, const char **argv) gfc_option.flag_init_logical = GFC_INIT_LOGICAL_OFF; gfc_option.flag_init_character = GFC_INIT_CHARACTER_OFF; gfc_option.flag_init_character_value = (char)0; + gfc_option.flag_align_commons = 1; gfc_option.fpe = 0; @@ -517,6 +519,10 @@ gfc_handle_option (size_t scode, const char *arg, int value) gfc_option.warn_intrinsic_shadow = value; break; + case OPT_Walign_commons: + gfc_option.warn_align_commons = value; + break; + case OPT_fall_intrinsics: gfc_option.flag_all_intrinsics = 1; break; @@ -825,6 +831,10 @@ gfc_handle_option (size_t scode, const char *arg, int value) case OPT_frecursive: gfc_option.flag_recursive = 1; break; + + case OPT_falign_commons: + gfc_option.flag_align_commons = value; + break; } return result; |