https://gcc.gnu.org/g:1df8fffba30bf4022dda762bf61acf16ac704c67
commit r16-469-g1df8fffba30bf4022dda762bf61acf16ac704c67 Author: Rainer Orth <r...@cebitec.uni-bielefeld.de> Date: Thu May 8 09:39:26 2025 +0200 cobol: Allow for undefined NAME_MAX [PR119217] All users of symbols.h fail to compile on Solaris: /vol/gcc/src/hg/master/local/gcc/cobol/symbols.h: At global scope: /vol/gcc/src/hg/master/local/gcc/cobol/symbols.h:1365:13: error: ‘NAME_MAX’ was not declared in this scope 1365 | char name[NAME_MAX]; | ^~~~~~~~ NAME_MAX being undefined is allowed by POSIX.1, actually: it's listed for <limits.h> under "Pathname Variable Values": A definition of one of the symbolic constants in the following list shall be omitted from the <limits.h> header on specific implementations where the corresponding value is equal to or greater than the stated minimum, but where the value can vary depending on the file to which it is applied. The actual value supported for a specific pathname shall be provided by the pathconf() function. As a hack, this patch provides a fallback definition to allow the build to finish. In fact it turned out that cbl_funtion_t.name isn't filename related and never set at all, so this patch serves as a mere stopgap fix to unbreak the build until a real solution can be figured out. Bootstrapped without regressions on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and x86_64-pc-linux-gnu. 2025-04-08 Rainer Orth <r...@cebitec.uni-bielefeld.de> gcc/cobol: PR cobol/119217 * symbols.h (NAME_MAX): Define fallback. Diff: --- gcc/cobol/symbols.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/cobol/symbols.h b/gcc/cobol/symbols.h index adfa8d979b2f..50c5d48ff9f5 100644 --- a/gcc/cobol/symbols.h +++ b/gcc/cobol/symbols.h @@ -46,6 +46,11 @@ #include <string> #include <vector> +// Provide fallback definition. +#ifndef NAME_MAX +#define NAME_MAX 255 +#endif + #define PICTURE_MAX 64 extern const char *numed_message;