On 2024/09/20 09:41:43 -0400, Chet Ramey wrote:
> On 9/20/24 9:09 AM, Dr. Werner Fink wrote:
> > On 2024/09/19 10:59:15 -0400, Chet Ramey wrote:
> > > On 9/19/24 4:25 AM, Michel Lind wrote:
> > > > Hi,
> > > > 
> > > > In Fedora we have been shipping GCC 14 since Fedora 40; it turns out
> > > > that at this moment we can no longer compile against readline since
> > > > including readline.h failed, as FILE is defined in stdio.h and that is
> > > > no longer included by default.
> > > 
> > > What does this mean? readline.h has never included stdio.h; it's an
> > > application requirement to do this, and it's documented that way. Are
> > > you saying that gcc pre-14 would implicitly include stdio.h itself?
> > 
> 
> > The problem is that gcc14 does not accept e.g. undeclared functions anymore.
> 
> readline.h doesn't include any undeclared functions, so it seems like this
> would be an application problem.
> 
> > In fact I also use ia similar little change to avoid warings before gcc14
> > and error with gcc14.  This for the inclusion of readline.h from standard
> > include path.
> 
> You mean instead of including <stdio.h> before <readline.h>?

If the application includes <readline/readline.h> 
... which uses FILE* therein ... a <stdio.h> is missed and I included
it in readline.h:

@@ -32,6 +32,7 @@ extern "C" {
 #  include "keymaps.h"
 #  include "tilde.h"
 #else
+#  include <stdio.h>
 #  include <readline/rlstdc.h>
 #  include <readline/rltypedefs.h>
 #  include <readline/keymaps.h>

simply to avoid trouble e.g. of <stdio.h> included after <readline/readline.h>.
For a packagers this decreases the number of bug reports ;)


Werner

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr

Attachment: signature.asc
Description: PGP signature

Reply via email to