The size of this object isn't used for anything - technically it is of variable
size.
This avoids a false positive from the assert in
X86InstrInfo::loadRegFromStackSlot, and fixes PR7735.
llvm-svn: 109652
the info from the .file directive and makes file and directory tables that
will eventually be put out as part of the dwarf info in the output file.
llvm-svn: 109651
alloca instructions (constrained by their internal encoding),
and add error checking for it. Fix an instcombine bug which
generated huge alignment values (null is infinitely aligned).
This fixes undefined behavior noticed by John Regehr.
llvm-svn: 109643
parenthesized, unlike in C++, e.g.,
C has: typeof ( expression)
C++ has: typeof unary-expression
So, once we've parsed a parenthesized expression after typeof, we
should only go on to parse the postfix expression suffix if we're in
C++. Fixes <rdar://problem/8237491>.
llvm-svn: 109606
the decls. This was just an oversight before; one we didn't
catch because lots of information in a DeclStmt was also being
traversed (redundantly) elsewhere.
Once DeclStmt was cleaned up, I could clean up some of the
redundant traversals found elswhere as well -- in particular,
traversing the declarations inside a function as part of the
function callback (instead of as part of the CompoundExpr
callback that constitutes the body of the function). The old
way was really weird, and led to some parts of local variable
declarations (but not all) being visited twice. That is now
resolved. I also was able to simplify the traversers for
IfStmt/WhileStmt/etc, which used to have redundant calls to
work around the fact DeclStmt wasn't working properly.
While in the area, I fixed up a few more recursion-ordering
issues. I try to hold to the principle that
RecursiveASTVisitor visits objects in the source code in the
same order they're typed. So the return-type of a variable
comes before the variable-name. This still isn't perfect, but
we're closer to that.
Reviewed by chandlerc and wan.
llvm-svn: 109590
__debug overflow_stack'.
- For testing crash reporting stuff... you'd think I could just use some C++
code but Doug keeps fixing stuff!
llvm-svn: 109587
- Designed as a simple wrapper to allow clients to attempt to catch crashes
(memory errors, assertion violations, etc.) and do some kind of recovery.
- Currently doesn't actually attempt to catch crashes.
llvm-svn: 109586
dependent bases, construct a dependent nested-name-specifier rather
than complaining that the name could not be found within the current
instantiation itself. Fixes PR7725.
llvm-svn: 109582