From: Jakub Jelinek Date: Mon, 14 Apr 2025 17:33:11 +0000 (+0200) Subject: cobol: Fix -fmax-errors option [PR119776] X-Git-Tag: basepoints/gcc-16~96 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0b57c75e6daa1664bea03ce96733bf1ebb38ced;p=thirdparty%2Fgcc.git cobol: Fix -fmax-errors option [PR119776] There seems to be inconsistency in the -fmax-errors option naming. It is a generic option in common.opt (so applies to all languages) but with the = character in it. The gcobol.1 man page in one spot documents the generic option (in the syntax, -fmax-errors=nerror) but in another spot without the = character. In common.opt it is fmax-errors= Common Joined RejectNegative UInteger Var(flag_max_errors) -fmax-errors= Maximum number of errors to report. I hope the cobol addition is just a mistake, having -fmax-errors variant without = character when Joined Separate would allow to specify -fmax-errors 10 with the same meaning as -fmax-errors=10 but also -fmax-errors10 with the same meaning which is just weird. Also, there is no UInteger and RejectNegative on it, so one can also specific -fno-max-errors42 or -fmax-errors blah. So, unless the spelling without = is intentional, here is a patch to just remove it, the common option already should have arranged for flag_max_errors to be set to the right number. Or if it is intentional, I guess we'd need to at least add RejectNegative UInteger (plus using atoi is generally undesirable anywhere in the compiler because it does no error checking). And the man page would need to be updated to specify both forms. 2025-04-14 Jakub Jelinek PR cobol/119776 * lang.opt (fmax-errors): Remove. * lang.opt.urls: Regenerate. * cobol1.cc (cobol_langhook_handle_option) : Remove. * gcobol.1: Document -fmax-errors=nerror rather than -fmax-errors nerror. --- diff --git a/gcc/cobol/cobol1.cc b/gcc/cobol/cobol1.cc index 7d742b90776..3bd21c783de 100644 --- a/gcc/cobol/cobol1.cc +++ b/gcc/cobol/cobol1.cc @@ -385,10 +385,6 @@ cobol_langhook_handle_option (size_t scode, return true; } - case OPT_fmax_errors: - flag_max_errors = atoi(arg); - return true; - case OPT_ffixed_form: cobol_set_indicator_column(-7); return true; diff --git a/gcc/cobol/gcobol.1 b/gcc/cobol/gcobol.1 index 64c017c2214..4377c1401ef 100644 --- a/gcc/cobol/gcobol.1 +++ b/gcc/cobol/gcobol.1 @@ -224,7 +224,7 @@ had appeared. Not all exception conditions are implemented. Any that are not produce a warning message. . -.It Fl fmax-errors Ar nerror +.It Fl fmax-errors Ns Li = Ns Ar nerror .Ar nerror represents the number of error messages produced. Without this option, .Nm diff --git a/gcc/cobol/lang.opt b/gcc/cobol/lang.opt index 1d33f34acee..59278a147e9 100644 --- a/gcc/cobol/lang.opt +++ b/gcc/cobol/lang.opt @@ -89,10 +89,6 @@ finternal-ebcdic Cobol Var(cobol_ebcdic, 1) Init(0) -finternal-ebcdic Internal processing is in EBCDIC Code Page 1140 -fmax-errors -Cobol Joined Separate -; Documented in C - fstatic-call Cobol Var(cobol_static_call, 1) Init(1) Enable/disable static linkage for CALL literals diff --git a/gcc/cobol/lang.opt.urls b/gcc/cobol/lang.opt.urls index 75df59643ea..69f52973c02 100644 --- a/gcc/cobol/lang.opt.urls +++ b/gcc/cobol/lang.opt.urls @@ -16,9 +16,6 @@ LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-ffixed-form) ffree-form LangUrlSuffix_Fortran(gfortran/Fortran-Dialect-Options.html#index-ffree-form) -fmax-errors -UrlSuffix(gcc/Warning-Options.html#index-fmax-errors) LangUrlSuffix_D(gdc/Warnings.html#index-fmax-errors) - iprefix UrlSuffix(gcc/Directory-Options.html#index-iprefix) LangUrlSuffix_D(gdc/Directory-Options.html#index-iprefix) LangUrlSuffix_Fortran(gfortran/Preprocessing-Options.html#index-iprefix)