| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 150140
|
| |
|
|
| |
llvm-svn: 150138
|
| |
|
|
|
|
|
|
|
| |
the ASTReaderDecl
directly; they internally call Decl::getASTContext() which may crash if a declaration context
parent is still deserializing.
llvm-svn: 150137
|
| |
|
|
|
|
| |
are constructed in different ways
llvm-svn: 150136
|
| |
|
|
|
|
| |
capture, make sure we actually add the field.
llvm-svn: 150135
|
| |
|
|
|
|
| |
function; it's going to get longer soon. No functionality change.
llvm-svn: 150132
|
| |
|
|
|
|
| |
finalize it
llvm-svn: 150130
|
| |
|
|
|
|
|
|
| |
returned from an extern "C" function.
Fixes bug 6143
llvm-svn: 150128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Complete the lambda class when we finish the lambda expression
(previously, it was left in the "being completed" state)
- Actually return the LambdaExpr object and bind to the resulting
temporary when needed.
- Detect when cleanups are needed while capturing a variable into a
lambda (e.g., due to default arguments in the copy constructor), and
make sure those cleanups apply for the whole of the lambda
expression.
llvm-svn: 150123
|
| |
|
|
|
|
|
|
|
|
|
|
| |
which allows values to escape through unknown calls.
Assumes all calls but the malloc family are unknown.
Also, catch a use-after-free when a pointer is passed to a
function after a call to free (previously, you had to explicitly
dereference the pointer value).
llvm-svn: 150112
|
| |
|
|
|
|
|
|
|
|
|
|
| |
optimistic.
TODO: actually implement the pessimistic version of the checker. Ex: it
needs to assume that any function that takes a pointer might free it.
The optimistic version relies on annotations to tell us which functions
can free the pointer.
llvm-svn: 150111
|
| |
|
|
|
|
| |
counted.
llvm-svn: 150110
|
| |
|
|
|
|
| |
protocol definitions.
llvm-svn: 150106
|
| |
|
|
|
|
| |
file. No functionality change.
llvm-svn: 150089
|
| |
|
|
|
|
|
|
| |
only add 'const' for variables captured by copy in potentially
evaluated expressions of non-mutable lambdas. (The "by copy" part was
missing).
llvm-svn: 150088
|
| |
|
|
|
|
| |
body of the lambda to the function call operator.
llvm-svn: 150087
|
| |
|
|
|
|
|
|
|
| |
post visit of CallExpr.
In general, we should avoid using evalCall as it leads to interference
with other checkers.
llvm-svn: 150086
|
| |
|
|
|
|
| |
All protocol related metadata is close to completion.
llvm-svn: 150084
|
| |
|
|
| |
llvm-svn: 150072
|
| |
|
|
|
|
|
|
| |
other users.
While at it make it value-initializable to get rid of static ctors.
llvm-svn: 150070
|
| |
|
|
|
|
|
| |
not a constant expression, because we can't tell whether the complete class type
will have an overloaded operator&.
llvm-svn: 150066
|
| |
|
|
|
|
| |
builtin_shufflevector.
llvm-svn: 150064
|
| |
|
|
|
|
|
|
|
|
| |
the sign bit doesn't have undefined behavior, but a signed left shift of a 1 bit
out of the sign bit still does. As promised to Howard :)
The suppression of the potential constant expression checking in system headers
is also removed, since the problem it was working around is gone.
llvm-svn: 150059
|
| |
|
|
| |
llvm-svn: 150058
|
| |
|
|
|
|
| |
builtin_shufflevector.
llvm-svn: 150056
|
| |
|
|
|
|
| |
management), and introduce 'PathPieces' as a common container for PathDiagnosticPieces.
llvm-svn: 150054
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 150053
|
| |
|
|
|
|
| |
unevaluated context.
llvm-svn: 150049
|
| |
|
|
|
|
|
|
| |
and then use it for forward decl names.
Part of rdar://10209967 and rdar://10400981
llvm-svn: 150040
|
| |
|
|
|
|
| |
registers.
llvm-svn: 150035
|
| |
|
|
|
|
|
|
|
|
| |
DeclRefExpr
that is referencing the member function, so we can index the referenced function.
Fixes rdar://10762375&10324915 & http://llvm.org/PR11192
llvm-svn: 150033
|
| |
|
|
| |
llvm-svn: 150030
|
| |
|
|
|
|
| |
or __strong __typeof__(some.strong.thing).
llvm-svn: 150029
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
a typedef of std::pair. This slightly improves type-safety, but mostly
makes code using it clearer to read as well as making it possible to add
methods to the type.
Add such a method for efficiently single-step desugaring a split type.
Add a method to single-step desugaring a locally-unqualified type.
Implement both the SplitQualType and QualType methods in terms of that.
Also, fix a typo ("ObjCGLifetime").
llvm-svn: 150028
|
| |
|
|
|
|
|
|
| |
caching of results after we create them.
Fixes rdar://10809898
llvm-svn: 150025
|
| |
|
|
| |
llvm-svn: 150021
|
| |
|
|
|
|
|
|
| |
been completed yet, then complete it if possible.
This fixes some assertion failures encountered by
LLDB.
llvm-svn: 150020
|
| |
|
|
|
|
| |
for modern objc abi.
llvm-svn: 150011
|
| |
|
|
| |
llvm-svn: 150010
|
| |
|
|
| |
llvm-svn: 150009
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operator overloads out of line.
This seems to negatively affect compile time onsome ObjC tests
(which use a lot of partial diagnostics I assume). I have to come
up with a way to keep them inline without including Diagnostic.h
everywhere. Now adding a new diagnostic requires a full rebuild
of e.g. the static analyzer which doesn't even use those diagnostics.
This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
llvm-svn: 150006
|
| |
|
|
| |
llvm-svn: 150002
|
| |
|
|
|
|
|
|
| |
MAP_ERROR to be remapped to MAP_WARNING. These new APIs are being added to
allow the diagnostic mapping's "no Werror" bit to be set, and potentially
downgrade anything already mapped to be a warning.
llvm-svn: 150001
|
| |
|
|
| |
llvm-svn: 150000
|
| |
|
|
| |
llvm-svn: 149998
|
| |
|
|
| |
llvm-svn: 149996
|
| |
|
|
| |
llvm-svn: 149995
|
| |
|
|
|
|
| |
in objective-c rewriter. wip.
llvm-svn: 149989
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parsing of @implementations was based on modifying global state from
the parser; the logic for late parsing of methods was spread in multiple places
making it difficult to have a robust error recovery.
-it was difficult to ensure that we don't neglect parsing the lexed methods.
-it was difficult to setup the original objc container context for parsing the lexed methods
after completing ParseObjCAtImplementationDeclaration and returning to top level context.
Enhance parsing of @implementations by centralizing it in Parser::ParseObjCAtImplementationDeclaration().
ParseObjCAtImplementationDeclaration now returns only after an @implementation is fully parsed;
all the data and logic for late parsing of methods is now in one place.
This allows us to provide code-completion for late parsed methods with mis-matched braces.
rdar://10775381
llvm-svn: 149987
|
| |
|
|
|
|
| |
Patch by Eitan Adler
llvm-svn: 149984
|