I apologize for my tardiness in reviewing this patch; it's been a busy few weeks here.
On Fri, 2024-11-29 at 12:31 -0800, Pete Dietl wrote: > > Not sure about such inline 'structs'. > > These are called "compound literals" and have been part of C since > C99. > More broadly though, what is the newest version of C that I may rely > on? The use of "_Generic" is a C11 thing. I can remove it if we want > to rely only on C99. Until fairly recently we only required C89. However, now that we make use of gnulib we are forced to require a minimum of C99. We shouldn't go higher than that. Gnulib does make use of compound literals but none of the code we import from gnulib uses them (to date) and we don't use them elsewhere in the GNU Make codebase. I don't know if any of the compilers used with GNU Make on other platforms provide sufficient C99 compatibility while still not supporting them. I don't think it would be difficult to avoid them here but I won't insist on it. As pointed out, GNU Make is part of a system's bootstrap path and we want to limit its prerequisites and requirements as much as we can to avoid catch-22's, forcing cross-compilation, and difficult multi-stage builds. -- Paul D. Smith <psm...@gnu.org> Find some GNU Make tips at: https://www.gnu.org http://make.mad-scientist.net "Please remain calm...I may be mad, but I am a professional." --Mad Scientist