Open jiffe opened 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
__attribute__((alloc_size(1)))
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.
I don't have much time to work on this, but I'd be happy to take a patch. A reduced reproducer might help.
I am trying to parse some code which includes libxml2 and it seems to fail on
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 sawStack : 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.