https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69495
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org --- Comment #2 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- I think there must be a lot more cases of this: if (!warn_surprising) return true; /* If we can't calculate the sizes, we cannot check any more. Return true for that case. */ if (!gfc_calculate_transfer_sizes (source, mold, size, &source_size, &result_size, NULL)) return true; if (source_size < result_size) gfc_warning (0, "Intrinsic TRANSFER at %L has partly undefined result: " "source size %ld < result size %ld", &source->where, (long) source_size, (long) result_size); ................. if (warn_function_elimination) do_warn_function_elimination (*ej); ............................... /* If warning about the standard, warn and succeed. */ if (gfc_option.warn_std & isym->standard) { /* Do only print a warning if not a GNU extension. */ if (!silent && isym->standard != GFC_STD_GNU) gfc_warning (0, "Intrinsic %qs (is %s) is used at %L", isym->name, _(symstd_msg), &where); return true; } ....................... /* At this point, a conversion is necessary. A warning may be needed. */ if ((gfc_option.warn_std & sym->standard) != 0) { gfc_warning_now (0, "Extension: Conversion from %s to %s at %L", gfc_typename (&from_ts), gfc_typename (ts), &expr->where); } .......................... if (pedantic && arg->expr != NULL && arg->expr->expr_type == EXPR_VARIABLE && arg->expr->symtree->n.sym->attr.optional && formal_optional && arg->expr->rank && (set_by_optional || arg->expr->rank != rank) && !(isym && isym->id == GFC_ISYM_CONVERSION)) { gfc_warning (0, "%qs at %L is an array and OPTIONAL; IF IT IS " "MISSING, it cannot be the actual argument of an " "ELEMENTAL procedure unless there is a non-optional " "argument with the same rank (12.4.1.5)", arg->expr->symtree->n.sym->name, &arg->expr->where); } } .................... if (warn_align_commons) { if (strcmp (common->name, BLANK_COMMON_NAME)) gfc_warning (0, "Padding of %d bytes required before %qs in " "COMMON %qs at %L; reorder elements or use " "-fno-align-commons", (int)offset, s->sym->name, common->name, &common->where); else gfc_warning (0, "Padding of %d bytes required before %qs in " "COMMON at %L; reorder elements or use " "-fno-align-commons", (int)offset, s->sym->name, &common->where); } .................. /* Warn about unused labels. */ if (warn_unused_label) warn_unused_fortran_label (ns->st_labels); ............................... Im sure there are more...