pycparserext icon indicating copy to clipboard operation
pycparserext copied to clipboard

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

Open jiffe opened this issue 8 years ago • 1 comments

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.

jiffe avatar Apr 19 '17 14:04 jiffe

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

inducer avatar Apr 19 '17 16:04 inducer