llvm with tablegen backend for capstone disassembler
Go to file
Chris Lattner 8ff2c6c9f0 Fix a parser bug where we let attributes interfere with our disambiguation
of whether a '(' was a grouping paren or the start of a function declarator.
This is PR2796.

Now we eat the attribute before deciding whether the paren is grouping or
not, then apply it to the resultant decl or to the first argument as needed.

One somewhat surprising aspect of this is that attributes interact with
implicit int in cases like this:

void a(x, y) // k&r style function
void b(__attribute__(()) x, y); // function with two implicit int arguments
void c(x, __attribute__(()) y); // error, can't have attr in identifier list.

Fun stuff.

llvm-svn: 57790
2008-10-20 02:05:46 +00:00
clang Fix a parser bug where we let attributes interfere with our disambiguation 2008-10-20 02:05:46 +00:00
llvm Set N->OperandList to 0 after deletion. Otherwise, it's possible that it will 2008-10-19 20:51:12 +00:00