[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bash not portable to C23

From: Paul Eggert
Subject: Re: Bash not portable to C23
Date: Sun, 26 Mar 2023 16:53:43 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

On 2023-03-24 12:04, Chet Ramey wrote:
However, Bash's devel branch still has old-style function definitions and therefore won't compile with a strict C23 compiler. For example, get_variable_value in variables.c is old-style. I assume there would be interest in fixing remaining areas where Bash won't port to C23?

Please report those as you find them.

I reported many of the ones I found to bug-bash just now. Many more such issues remain, unfortunately.

In looking into this I had some trouble reading the code - perhaps you could let me know if there's a roadmap for newbies? Or if there isn't one perhaps we could write one. That might help attract other people to make further improvements.

Here's a brief summary of my guesses at the situation; please correct me if I'm wrong. Perhaps this could serve as a basis for a roadmap.

* Ignore everything under the CWRU directory, because it does not contribute anything to any builds. Similarly for lib/posixheaders.old and support/config.*.*. (What other code should I ignore, and what's the motivation for keeping the unused code in the repository?)

* Ignore files like 'configure' and 'doc/bash.pdf' that are automatically generated. (Is there a list of which files these are? It's not clear to me.)

* Ignore lib/glob, lib/intl, lib/malloc, and lib/termcap as these are all taken from other projects and fixes should be sent there. (The other lib/* directories belong to Bash, though.)

* Ignore most of the files in m4/* as they're taken from Gnulib. (Which files?)

* Ignore the po/* files as they're all automatically generated and/or synced from the Translation Project somehow.

* Ignore support/config.guess and support/config.sub as it's taken from the GNU config upstream. Likewise for support/config.rpath, taken from GNU Libtool.

PS. What are the procedures for syncing from upstream? Is it all done by hand? In other projects we automate this as much as possible - would a patch to do that be welcome?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]