aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/options.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2008-09-22 13:45:02 +0200
committerJanus Weil <janus@gcc.gnu.org>2008-09-22 13:45:02 +0200
commitf613cea7fc41d8133a083ced6cc0a11b9312f110 (patch)
tree5ace57c212233d9f04bcb96b875d8137f2545d01 /gcc/fortran/options.c
parent22868cbf560231317a5c82348c08d396fa29f471 (diff)
downloadgcc-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.c10
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;