inducer / pycparserext

Extensions for Eli Bendersky's pycparser
http://pypi.python.org/pypi/pycparserext
Other
83 stars 28 forks source link

pycparser.plyparser.ParseError: test.c:2:15: before: mallocFunc #28

Open jiffe opened 7 years ago

jiffe commented 7 years ago

I am trying to parse some code which includes libxml2 and it seems to fail on

typedef void *(__attribute__((alloc_size(1))) *xmlMallocFunc)(long unsigned int size);
xmlMallocFunc mallocFunc;

If I take out the __attribute__((alloc_size(1))) this parses fine. I added debug statements and one thing I noticed different was when it worked I saw

Stack : decl_body SEMI . LexToken(TYPEID,'xmlMallocFunc',2,120)

and when it did not work I saw

Stack : decl_body SEMI . LexToken(ID,'xmlMallocFunc',2,151)

the difference being TYPEID vs ID. I'm not sure if this is the root of the problem but I'm not sure where the ID is coming from vs TYPEID and was hoping you could help me here.

inducer commented 7 years ago

I don't have much time to work on this, but I'd be happy to take a patch. A reduced reproducer might help.