On Sat, Jul 27, 2024 at 02:40:06PM +0200, Étienne Mollier wrote:
> Control: tags -1 confirmed
> 
> Relevant part of the failure is:
> 
>       Libplot.xs:91:13: error: ‘return’ with no value, in function returning 
> non-void [-Wreturn-mismatch]
>          91 |             return __BEGIN_DECLS;
>             |             ^~~~~~
>       Libplot.xs:24:1: note: declared here
>          24 | constant(name, arg)
>             | ^~~~~~~~
>       Libplot.xs:97:13: error: ‘return’ with no value, in function returning 
> non-void [-Wreturn-mismatch]
>          97 |             return __END_DECLS;
>             |             ^~~~~~
>       Libplot.xs:24:1: note: declared here
>          24 | constant(name, arg)
>             | ^~~~~~~~
> 
> __BEGIN_DECLS and __END_DECLS look to be defined in util/plot.h
> and are empty when compiling with a C compiler, or contain
> guards for C code when compiling with a C++ compiler:
> 
>       # define __BEGIN_DECLS extern "C" {
>       # define __END_DECLS   }

> As it is, I don't see an obvious way forward apart from putting
> dust back below the carpet and ignoring the error, and I would
> question whether this function is behaving as intended in the
> first place.

I agree, this code makes no sense. FWIW this is very similar to #1075138
in libace-perl. I assume both were generated automatically from the
header files with the same tool.

I suggest just removing the nonsensical "constants" like in the other bug.

Thanks for looking at this,
-- 
Niko

Reply via email to