develooper Front page | perl.perl5.porters | Postings from December 2016

Re: [perl #130393] h2xs: Support for _Bool/stdbool.h?

Thread Previous
From:
Dave Mitchell
Date:
December 30, 2016 11:46
Subject:
Re: [perl #130393] h2xs: Support for _Bool/stdbool.h?
Message ID:
20161230114644.GP3096@iabyn.com
On Wed, Dec 28, 2016 at 11:56:11PM -0800, Hugo van der Sanden via RT wrote:
> On Wed, 28 Dec 2016 07:13:36 -0800, davem wrote:
> > On Wed, Dec 28, 2016 at 05:37:04AM -0800, James E Keenan via RT wrote:
> > > On Wed, 28 Dec 2016 06:00:21 GMT, tauner@technikum-wien.at wrote:
> > > >
> > > > h2xs -x booltest.h
> > > > So this might be a bug in C::Scan (which I have installed via cpanm
> > > > from HVDS/C-Scan-0.74)?
> > > >
> > >
> > > What happens if you do not use the '-x' option and thereby avoid
> > > C::Scan?
> > >
> > > (When I did that, 'make' completed -- but since I've rarely attempted
> > > to write XS I don't know whether that's meaningful or not.)
> > >
> > > Thank you very much.
> > 
> > When foo,h contains this:
> > 
> > #include <stdbool.h>
> > void h2xs(bool b);
> > 
> > then h2xs -x foo.h, via C::Scan, is generating an XS file that looks
> > like:
> > 
> > void
> > h2xs(arg0)
> 
> I'll try to take a look later this week at the C::Scan side, to see if this is fixable; I don't have stdbool.h here, but I'm guessing that something like <http://clang.llvm.org/doxygen/stdbool_8h_source.html> should be close enough.

It seems very sensitive. I tried as small a change as replacing this line:

    #include <stdbool.h>

with this this line

    #include "/usr/lib/gcc/x86_64-redhat-linux/5.3.1/include/stdbool.h"

(which from stracing the h2xs command appears to be the file it reads)
and the problem magically goes away.

That file is attached.

-- 
Lear: Dost thou call me fool, boy?
Fool: All thy other titles thou hast given away; that thou wast born with.

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About