diff options
author | Tobias Burnus <burnus@net-b.de> | 2014-12-16 20:24:50 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2014-12-16 20:24:50 +0100 |
commit | 203c7ebffdd7042d9b08d303594eaeb9887ff503 (patch) | |
tree | a4dc2e881c78f7c7ab0768916f6c29c300f13996 /gcc/fortran/options.c | |
parent | 6a85804bf7b5aaf3288995fd6157af907c4d6ab1 (diff) | |
download | gcc-203c7ebffdd7042d9b08d303594eaeb9887ff503.zip gcc-203c7ebffdd7042d9b08d303594eaeb9887ff503.tar.gz gcc-203c7ebffdd7042d9b08d303594eaeb9887ff503.tar.bz2 |
2014-12-15 Tobias Burnus <burnus@net-b.de>
* lang.opt (fsecond-underscore, frecord-marker=8,
* frecord-marker=4,
frealloc-lhs, freal-8-real-16, freal-8-real-10, freal-8-real-4,
freal-4-real-16, freal-4-real-10, freal-4-real-8, fprotect-parens,
fstack-arrays, fmax-stack-var-size=, fmax-subrecord-length=,
ffrontend-optimize, ffree-line-length-, ffixed-line-length-,
finteger-4-integer-8, fdefault-real-8, fdefault-integer-8,
fdefault-double-8): Add Var() and Init().
* gfortran.h (gfc_option_t): Remove moved flags.
* options.c (gfc_init_options, gfc_handle_option): Ditto.
(gfc_post_options): Update for name change.
* decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Handle
flag-name change.
* frontend-passes.c (gfc_run_passes): Ditto.
* module.c (use_iso_fortran_env_module): Ditto.
* primary.c (match_integer_constant, match_real_constant):
* Ditto.
* resolve.c (resolve_ordinary_assign): Ditto.
* scanner.c (gfc_next_char_literal, load_line): Ditto.
* trans-array.c (gfc_trans_allocate_array_storage,
gfc_conv_resolve_dependencies, gfc_trans_auto_array_allocation,
gfc_conv_ss_startstride): Ditto.
* trans-common.c (gfc_sym_mangled_common_id): Ditto.
* trans-decl.c (gfc_sym_mangled_function_id,
create_main_function): Ditto.
* trans-expr.c (gfc_conv_expr_op, gfc_conv_procedure_call,
arrayfunc_assign_needs_temporary, gfc_trans_arrayfunc_assign,
gfc_trans_assignment_1): Ditto.
* trans-stmt.c (gfc_trans_allocate): Ditto.
* trans-types.c (gfc_init_kinds): Ditto.
From-SVN: r218790
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r-- | gcc/fortran/options.c | 181 |
1 files changed, 35 insertions, 146 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index af71ded..5a1be12 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -81,37 +81,22 @@ gfc_init_options (unsigned int decoded_options_count, gfc_source_file = NULL; gfc_option.module_dir = NULL; gfc_option.source_form = FORM_UNKNOWN; - gfc_option.fixed_line_length = 72; - gfc_option.free_line_length = 132; gfc_option.max_continue_fixed = 255; gfc_option.max_continue_free = 255; gfc_option.max_identifier_length = GFC_MAX_SYMBOL_LEN; - gfc_option.max_subrecord_length = 0; gfc_option.flag_max_array_constructor = 65535; gfc_option.convert = GFC_CONVERT_NATIVE; - gfc_option.record_marker = 0; gfc_option.dump_fortran_original = 0; gfc_option.dump_fortran_optimized = 0; gfc_option.max_errors = 25; gfc_option.flag_all_intrinsics = 0; - gfc_option.flag_default_double = 0; - gfc_option.flag_default_integer = 0; - gfc_option.flag_default_real = 0; - gfc_option.flag_integer4_kind = 0; - gfc_option.flag_real4_kind = 0; - gfc_option.flag_real8_kind = 0; gfc_option.flag_dollar_ok = 0; gfc_option.flag_underscoring = 1; gfc_option.flag_f2c = 0; - gfc_option.flag_second_underscore = -1; gfc_option.flag_implicit_none = 0; - /* 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 = -1; - gfc_option.flag_range_check = 1; gfc_option.flag_pack_derived = 0; gfc_option.flag_repack_arrays = 0; @@ -135,10 +120,7 @@ gfc_init_options (unsigned int decoded_options_count, 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.flag_protect_parens = -1; - gfc_option.flag_realloc_lhs = -1; gfc_option.flag_aggressive_function_elimination = 0; - gfc_option.flag_frontend_optimize = -1; gfc_option.fpe = 0; /* All except GFC_FPE_INEXACT. */ @@ -259,20 +241,20 @@ gfc_post_options (const char **pfilename) if (flag_associative_math == -1) flag_associative_math = (!flag_trapping_math && !flag_signed_zeros); - if (gfc_option.flag_protect_parens == -1) - gfc_option.flag_protect_parens = !optimize_fast; + if (flag_protect_parens == -1) + flag_protect_parens = !optimize_fast; - if (gfc_option.flag_stack_arrays == -1) - gfc_option.flag_stack_arrays = optimize_fast; + if (flag_stack_arrays == -1) + flag_stack_arrays = optimize_fast; /* By default, disable (re)allocation during assignment for -std=f95, and enable it for F2003/F2008/GNU/Legacy. */ - if (gfc_option.flag_realloc_lhs == -1) + if (flag_realloc_lhs == -1) { if (gfc_option.allow_std & GFC_STD_F2003) - gfc_option.flag_realloc_lhs = 1; + flag_realloc_lhs = 1; else - gfc_option.flag_realloc_lhs = 0; + flag_realloc_lhs = 0; } /* -fbounds-check is equivalent to -fcheck=bounds */ @@ -364,53 +346,60 @@ gfc_post_options (const char **pfilename) /* If the user didn't explicitly specify -f(no)-second-underscore we use it if we're trying to be compatible with f2c, and not otherwise. */ - if (gfc_option.flag_second_underscore == -1) - gfc_option.flag_second_underscore = gfc_option.flag_f2c; + if (flag_second_underscore == -1) + flag_second_underscore = gfc_option.flag_f2c; - if (!gfc_option.flag_automatic && gfc_option.flag_max_stack_var_size != -2 - && gfc_option.flag_max_stack_var_size != 0) + if (!gfc_option.flag_automatic && flag_max_stack_var_size != -2 + && flag_max_stack_var_size != 0) gfc_warning_now ("Flag %<-fno-automatic%> overwrites %<-fmax-stack-var-size=%d%>", - gfc_option.flag_max_stack_var_size); + flag_max_stack_var_size); else if (!gfc_option.flag_automatic && gfc_option.flag_recursive) gfc_warning_now ("Flag %<-fno-automatic%> overwrites %<-frecursive%>"); else if (!gfc_option.flag_automatic && gfc_option.gfc_flag_openmp) gfc_warning_now ("Flag %<-fno-automatic%> overwrites %<-frecursive%> implied by " - "%<-fopenmp%>"); - else if (gfc_option.flag_max_stack_var_size != -2 - && gfc_option.flag_recursive) + "%<-fopenmp%>"); + else if (flag_max_stack_var_size != -2 && gfc_option.flag_recursive) gfc_warning_now ("Flag %<-frecursive%> overwrites %<-fmax-stack-var-size=%d%>", - gfc_option.flag_max_stack_var_size); - else if (gfc_option.flag_max_stack_var_size != -2 - && gfc_option.gfc_flag_openmp) + flag_max_stack_var_size); + else if (flag_max_stack_var_size != -2 && gfc_option.gfc_flag_openmp) gfc_warning_now ("Flag %<-fmax-stack-var-size=%d%> overwrites %<-frecursive%> " - "implied by %<-fopenmp%>", - gfc_option.flag_max_stack_var_size); + "implied by %<-fopenmp%>", flag_max_stack_var_size); /* Implement -frecursive as -fmax-stack-var-size=-1. */ if (gfc_option.flag_recursive) - gfc_option.flag_max_stack_var_size = -1; + flag_max_stack_var_size = -1; /* Implied -frecursive; implemented as -fmax-stack-var-size=-1. */ - if (gfc_option.flag_max_stack_var_size == -2 && gfc_option.gfc_flag_openmp + if (flag_max_stack_var_size == -2 && gfc_option.gfc_flag_openmp && gfc_option.flag_automatic) { gfc_option.flag_recursive = 1; - gfc_option.flag_max_stack_var_size = -1; + flag_max_stack_var_size = -1; } /* Set default. */ - if (gfc_option.flag_max_stack_var_size == -2) - gfc_option.flag_max_stack_var_size = 32768; + if (flag_max_stack_var_size == -2) + flag_max_stack_var_size = 32768; /* Implement -fno-automatic as -fmax-stack-var-size=0. */ if (!gfc_option.flag_automatic) - gfc_option.flag_max_stack_var_size = 0; + flag_max_stack_var_size = 0; /* Optimization implies front end optimization, unless the user specified it directly. */ - if (gfc_option.flag_frontend_optimize == -1) - gfc_option.flag_frontend_optimize = optimize; + if (flag_frontend_optimize == -1) + flag_frontend_optimize = optimize; + + if (flag_fixed_line_length != 0 && flag_fixed_line_length < 7) + gfc_fatal_error ("Fixed line length must be at least seven"); + + if (flag_free_line_length != 0 && flag_free_line_length < 4) + gfc_fatal_error ("Free line length must be at least three"); + + if (flag_max_subrecord_length > MAX_SUBRECORD_LENGTH) + gfc_fatal_error ("Maximum subrecord length cannot exceed %d", + MAX_SUBRECORD_LENGTH); gfc_cpp_post_options (); @@ -643,16 +632,6 @@ gfc_handle_option (size_t scode, const char *arg, int value, gfc_option.source_form = FORM_FIXED; break; - case OPT_ffixed_line_length_none: - gfc_option.fixed_line_length = 0; - break; - - case OPT_ffixed_line_length_: - if (value != 0 && value < 7) - gfc_fatal_error ("Fixed line length must be at least seven"); - gfc_option.fixed_line_length = value; - break; - case OPT_ffree_form: gfc_option.source_form = FORM_FREE; break; @@ -665,24 +644,10 @@ gfc_handle_option (size_t scode, const char *arg, int value, gfc_option.gfc_flag_openmp_simd = value; break; - case OPT_ffree_line_length_none: - gfc_option.free_line_length = 0; - break; - - case OPT_ffree_line_length_: - if (value != 0 && value < 4) - gfc_fatal_error ("Free line length must be at least three"); - gfc_option.free_line_length = value; - break; - case OPT_funderscoring: gfc_option.flag_underscoring = value; break; - case OPT_fsecond_underscore: - gfc_option.flag_second_underscore = value; - break; - case OPT_static_libgfortran: #ifndef HAVE_LD_STATIC_DYNAMIC gfc_fatal_error ("%<-static-libgfortran%> is not supported in this " @@ -710,14 +675,6 @@ gfc_handle_option (size_t scode, const char *arg, int value, gfc_option.flag_max_array_constructor = value > 65535 ? value : 65535; break; - case OPT_fmax_stack_var_size_: - 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; @@ -745,46 +702,6 @@ gfc_handle_option (size_t scode, const char *arg, int value, gfc_option.max_identifier_length = value; break; - case OPT_fdefault_integer_8: - gfc_option.flag_default_integer = value; - break; - - case OPT_fdefault_real_8: - gfc_option.flag_default_real = value; - break; - - case OPT_fdefault_double_8: - gfc_option.flag_default_double = value; - break; - - case OPT_finteger_4_integer_8: - gfc_option.flag_integer4_kind = 8; - break; - - case OPT_freal_4_real_8: - gfc_option.flag_real4_kind = 8; - break; - - case OPT_freal_4_real_10: - gfc_option.flag_real4_kind = 10; - break; - - case OPT_freal_4_real_16: - gfc_option.flag_real4_kind = 16; - break; - - case OPT_freal_8_real_4: - gfc_option.flag_real8_kind = 4; - break; - - case OPT_freal_8_real_10: - gfc_option.flag_real8_kind = 10; - break; - - case OPT_freal_8_real_16: - gfc_option.flag_real8_kind = 16; - break; - case OPT_finit_local_zero: gfc_option.flag_init_integer = GFC_INIT_INTEGER_ON; gfc_option.flag_init_integer_value = 0; @@ -924,22 +841,6 @@ gfc_handle_option (size_t scode, const char *arg, int value, gfc_option.convert = GFC_CONVERT_SWAP; break; - case OPT_frecord_marker_4: - gfc_option.record_marker = 4; - break; - - case OPT_frecord_marker_8: - gfc_option.record_marker = 8; - break; - - case OPT_fmax_subrecord_length_: - if (value > MAX_SUBRECORD_LENGTH) - gfc_fatal_error ("Maximum subrecord length cannot exceed %d", - MAX_SUBRECORD_LENGTH); - - gfc_option.max_subrecord_length = value; - break; - case OPT_frecursive: gfc_option.flag_recursive = value; break; @@ -952,18 +853,6 @@ gfc_handle_option (size_t scode, const char *arg, int value, gfc_option.flag_aggressive_function_elimination = value; break; - case OPT_ffrontend_optimize: - gfc_option.flag_frontend_optimize = value; - break; - - case OPT_fprotect_parens: - gfc_option.flag_protect_parens = value; - break; - - case OPT_frealloc_lhs: - gfc_option.flag_realloc_lhs = value; - break; - case OPT_fcheck_: gfc_handle_runtime_check_option (arg); break; |