aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/symbol.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2014-11-25 23:33:32 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2014-11-25 23:33:32 +0100
commit4daa149b86a42d1d10a735889c5f9cd6a0bca09e (patch)
tree473bf73756e4b0fb99262902721646ab2e7d2c49 /gcc/fortran/symbol.c
parentb1edcad11f8688df33e136de11c63e61aea7a182 (diff)
downloadgcc-4daa149b86a42d1d10a735889c5f9cd6a0bca09e.zip
gcc-4daa149b86a42d1d10a735889c5f9cd6a0bca09e.tar.gz
gcc-4daa149b86a42d1d10a735889c5f9cd6a0bca09e.tar.bz2
gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
2014-11-25 Tobias Burnus <burnus@net-b.de> gcc/fortran/ * gfortran.h (gfc_option_t): Remove flags moved as Var to .opt. (gfc_error_now_1): Renamed from gfc_error_now. (gfc_error_now): Renamed from gfc_error_now_2. (gfc_warning_now_1): Renamed from gfc_warning_now. (gfc_warning_now): Renamed from gfc_warning_now_2. * error.c (gfc_error_now_1): Renamed from gfc_error_now. (gfc_error_now): Renamed from gfc_error_now_2. (gfc_warning_now_1): Renamed from gfc_warning_now. (gfc_warning_now): Renamed from gfc_warning_now_2. (gfc_get_errors): Include common diagnostic in count. * lang.opt (Wc-binding-type, Wconversion, Wconversion-extra, Wintrinsics-std): Create a Var for those warnings. * check.c (gfc_check_cmplx): Pass warning flag to diagnostic function. * decl.c (get_proc_name, gfc_verify_c_interop_param, build_sym gfc_set_constant_character_len, verify_bind_c_sym): Ditto; use _1 for old diagnostic, remove _2 for new diagnostic. * expr.c (gfc_check_assign, gfc_check_vardef_context): Ditto. * frontend-passes.c (doloop_code, do_function): Ditto. * intrinsic.c (gfc_is_intrinsic, gfc_convert_type_warn): Ditto. * match.c (gfc_match_common): Ditto. * module.c (use_iso_fortran_env_module, gfc_use_module): Ditto. * parse.c (decode_statement, decode_gcc_attribute, next_free, next_fixed, gfc_check_do_variable): Ditto. * resolve.c (resolve_common_vars, resolve_ordinary_assign): Ditto. * scanner.c (add_path_to_list, skip_free_comments, gfc_next_char_literal, gfc_gobble_whitespace, load_line, preprocessor_line, load_file): Ditto. * symbol.c (gfc_set_default_type, verify_bind_c_derived_type): Ditto. * options.c (gfc_post_options): Ditto. (gfc_init_options, set_Wall, gfc_handle_option): Ditto; remove flags which now have a Var. * invoke.texi (Wconversion-extra): Make clear that the flag does not imply -Wconversion. gcc/testsuite/ * gfortran.dg/empty_label.f: Change test to continue testing for -fmax-errors=1. * gfortran.dg/empty_label.f90: Ditto. * gfortran.dg/warnings_are_errors_1.f90: Update dg-*. From-SVN: r218067
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r--gcc/fortran/symbol.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index 3eb58f4..aeb7dce 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -270,11 +270,12 @@ gfc_set_default_type (gfc_symbol *sym, int error_flag, gfc_namespace *ns)
&& !gfc_build_class_symbol (&sym->ts, &sym->attr, &sym->as))
return false;
- if (sym->attr.is_bind_c == 1 && gfc_option.warn_c_binding_type)
+ if (sym->attr.is_bind_c == 1 && warn_c_binding_type)
{
/* BIND(C) variables should not be implicitly declared. */
- gfc_warning_now ("Implicitly declared BIND(C) variable '%s' at %L may "
- "not be C interoperable", sym->name, &sym->declared_at);
+ gfc_warning_now (OPT_Wc_binding_type, "Implicitly declared BIND(C) "
+ "variable %qs at %L may not be C interoperable",
+ sym->name, &sym->declared_at);
sym->ts.f90_type = sym->ts.type;
}
@@ -284,14 +285,15 @@ gfc_set_default_type (gfc_symbol *sym, int error_flag, gfc_namespace *ns)
&& (sym->ns->proc_name->attr.subroutine != 0
|| sym->ns->proc_name->attr.function != 0)
&& sym->ns->proc_name->attr.is_bind_c != 0
- && gfc_option.warn_c_binding_type)
+ && warn_c_binding_type)
{
/* Dummy args to a BIND(C) routine may not be interoperable if
they are implicitly typed. */
- gfc_warning_now ("Implicitly declared variable '%s' at %L may not "
- "be C interoperable but it is a dummy argument to "
- "the BIND(C) procedure '%s' at %L", sym->name,
- &(sym->declared_at), sym->ns->proc_name->name,
+ gfc_warning_now (OPT_Wc_binding_type, "Implicitly declared variable "
+ "%qs at %L may not be C interoperable but it is a "
+ "dummy argument to the BIND(C) procedure %qs at %L",
+ sym->name, &(sym->declared_at),
+ sym->ns->proc_name->name,
&(sym->ns->proc_name->declared_at));
sym->ts.f90_type = sym->ts.type;
}
@@ -3854,7 +3856,7 @@ verify_bind_c_derived_type (gfc_symbol *derived_sym)
if (derived_sym->attr.is_bind_c != 1)
{
derived_sym->ts.is_c_interop = 0;
- gfc_error_now ("Derived type '%s' declared at %L must have the BIND "
+ gfc_error_now ("Derived type %qs declared at %L must have the BIND "
"attribute to be C interoperable", derived_sym->name,
&(derived_sym->declared_at));
retval = false;
@@ -3949,8 +3951,7 @@ verify_bind_c_derived_type (gfc_symbol *derived_sym)
recompiles with different flags (e.g., -m32 and -m64 on
x86_64 and using integer(4) to claim interop with a
C_LONG). */
- if (derived_sym->attr.is_bind_c == 1
- && gfc_option.warn_c_binding_type)
+ if (derived_sym->attr.is_bind_c == 1 && warn_c_binding_type)
/* If the derived type is bind(c), all fields must be
interop. */
gfc_warning ("Component '%s' in derived type '%s' at %L "
@@ -3958,7 +3959,7 @@ verify_bind_c_derived_type (gfc_symbol *derived_sym)
"derived type '%s' is BIND(C)",
curr_comp->name, derived_sym->name,
&(curr_comp->loc), derived_sym->name);
- else if (gfc_option.warn_c_binding_type)
+ else if (warn_c_binding_type)
/* If derived type is param to bind(c) routine, or to one
of the iso_c_binding procs, it must be interoperable, so
all fields must interop too. */