| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
| |
NumericLiteral parser is not careful about overrun because
it should never be possible. It implicitly expects that its
input matched the regex for pp-constant. Because of this, it
knows it can't be pointing to a prefix of something that
looks like a number. This is all fine, except that __LINE__
does not prevent implicit concatenation from happening. Fix
__LINE__ to not do this.
llvm-svn: 56818
|
|
|
|
|
|
|
| |
fixes problems handling references of va_list, which happens on x86_64.
This fixes PR2841 and rdar://6252231
llvm-svn: 56809
|
|
|
|
|
|
| |
and add a dump method to FullSourceLoc! Patch by Nico Weber!
llvm-svn: 56806
|
|
|
|
| |
llvm-svn: 56800
|
|
|
|
|
|
| |
block pointer types (^{}).
llvm-svn: 56793
|
|
|
|
| |
llvm-svn: 56791
|
|
|
|
|
|
| |
setter.
llvm-svn: 56785
|
|
|
|
| |
llvm-svn: 56776
|
|
|
|
| |
llvm-svn: 56775
|
|
|
|
|
|
| |
effectively declare it for methods below.
llvm-svn: 56771
|
|
|
|
|
|
| |
not require __block.
llvm-svn: 56770
|
|
|
|
|
|
|
|
| |
by decaying __builtin_va_list's type when forming builtins. On
x86-64 (and other targets) __builtin_va_list is a typedef for
an array.
llvm-svn: 56768
|
|
|
|
|
|
|
| |
wasn't covering checking builtins like __builtin___vsnprintf_chk) with
a check that won't get out of date.
llvm-svn: 56767
|
|
|
|
|
|
| |
don't need a BlockDeclRefExpr.
llvm-svn: 56766
|
|
|
|
| |
llvm-svn: 56764
|
|
|
|
|
|
| |
Comment exception-handling code generation strategy.
llvm-svn: 56763
|
|
|
|
| |
llvm-svn: 56762
|
|
|
|
|
|
| |
identifier in NSServices.m
llvm-svn: 56761
|
|
|
|
|
|
| |
readable and to generate more readable IR.
llvm-svn: 56758
|
|
|
|
|
|
|
| |
- This should be rejected by sema (IMHO) but that needs some
investigation.
llvm-svn: 56756
|
|
|
|
| |
llvm-svn: 56755
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- There is no need to branch on the rethrow variable to determine if
we need to call objc_exception_try_exit. We know whether an
exception was thrown, so just branch to a different target if we
want to skip the try_exit.
This is a slight semantic departure from gcc, but only for throwing
nil, which is undefined (and for which gcc emits broken code).
- Also fixes a bug in current code which was calling try_exit too
many times when an exception was uncaught (but there were some
handlers).
Fix bug introduced in prev. commit, the type of the @catch parameter
was uninitialized.
llvm-svn: 56754
|
|
|
|
| |
llvm-svn: 56753
|
|
|
|
|
|
| |
of the function.
llvm-svn: 56752
|
|
|
|
|
|
|
|
|
|
|
| |
when there are no @catch blocks.
Also, eliminated unneeded alloca for the rethrow object.
Also, avoid generating code to rethrow exception if the exception will
trivially always be caught.
llvm-svn: 56751
|
|
|
|
|
|
| |
(smaller) size == garbage on stack == heisenbugs.
llvm-svn: 56750
|
|
|
|
| |
llvm-svn: 56749
|
|
|
|
| |
llvm-svn: 56735
|
|
|
|
|
|
| |
CompoundStmt*, and use the getBody() method to do the appropriate checking. This both removes the type-punning warnings in Expr.cpp and also makes BlockExpr have more consistency checks against modifications to its body (via StmtIterator).
llvm-svn: 56710
|
|
|
|
|
|
| |
removes the type-punning errors for DeclGroup.
llvm-svn: 56708
|
|
|
|
|
|
| |
SizeOfAlignOfTypeExpr.
llvm-svn: 56706
|
|
|
|
|
|
|
|
|
|
|
| |
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn
Return attributes use 0 as the index.
Function attributes use ~0U as the index.
llvm-svn: 56705
|
|
|
|
|
|
| |
DirectoryLookup::DirType into SourceManager.h
llvm-svn: 56692
|
|
|
|
|
|
|
|
|
|
|
| |
to whether the fileid is a 'extern c system header' in addition to whether it
is a system header, most of this is spreading plumbing around. Once we have that,
PPLexerChange bases its "file enter/exit" notifications to PPCallbacks to
base the system header state on FileIDInfo instead of HeaderSearch. Finally,
in Preprocessor::HandleIncludeDirective, mirror logic in GCC: the system headerness
of a file being entered can be set due to the #includer or the #includee.
llvm-svn: 56688
|
|
|
|
|
|
| |
control-flow).
llvm-svn: 56672
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
directory is shadowed by a user directory in the lookup
path, ignore the user directory not the system one. Not
doing this can affect file lookup and the "is a system
header" bit on locations. For example:
clang -v -I/usr/include inc.c -E | & grep /usr/inc
now prints:
# 1 "/usr/include/i386/_types.h" 1 3 4
# 37 "/usr/include/i386/_types.h" 3 4
# 70 "/usr/include/i386/_types.h" 3 4
instead of:
# 1 "/usr/include/i386/_types.h" 1
# 37 "/usr/include/i386/_types.h"
# 70 "/usr/include/i386/_types.h"
This is part of rdar://6243860.
llvm-svn: 56669
|
|
|
|
| |
llvm-svn: 56668
|
|
|
|
|
|
| |
all dataflow analyses "see" the VLA size expressions.
llvm-svn: 56655
|
|
|
|
|
|
|
|
| |
BlockDeclRef exprs.
This fixes <rdar://problem/6248392> clang: Error when using address of stack variable inside block.
llvm-svn: 56652
|
|
|
|
|
|
| |
Fixes <rdar://problem/6248086>
llvm-svn: 56645
|
|
|
|
| |
llvm-svn: 56642
|
|
|
|
| |
llvm-svn: 56640
|
|
|
|
| |
llvm-svn: 56639
|
|
|
|
| |
llvm-svn: 56638
|
|
|
|
|
|
| |
- This really needs to be automated and configurable.
llvm-svn: 56635
|
|
|
|
|
|
| |
Fixes: <rdar://problem/6248119> @finally doesn't introduce a new scope
llvm-svn: 56629
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.
llvm-svn: 56623
|
|
|
|
|
|
|
|
| |
DeclGroupOwningRef classes.
Documentation and testing are pending.
llvm-svn: 56611
|
|
|
|
|
|
| |
with incompatible pointer warnings in general).
llvm-svn: 56595
|
|
|
|
| |
llvm-svn: 56590
|