| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 49098
|
| |
|
|
|
|
|
|
|
|
|
| |
(1) Remove IdLoc (it's never used).
(2) Add a bool to enable/disable lazy builtin creaation (defaults to true).
This enables us to use LookupDecl() in Sema::isTypeName(), which is also part of this commit.
To make this work, I changed isTypeName() to be a non-const member function. I'm not happy with this, however I fiddled with making LookupDecl() and friends const and it got ugly pretty quickly. We can certainly add it back if/when someone has time to fiddle with it. For now, I thought this simplification was more important than retaining the const-ness.
llvm-svn: 49087
|
| |
|
|
|
|
| |
that describe a bug.
llvm-svn: 49086
|
| |
|
|
|
|
|
|
| |
object type". Add a predicate that checks exactly this, as it is equivalent
to checking ot see if the type is *not* a function type, which is faster
to check.
llvm-svn: 49082
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
object or incomplete types shall not be restrict-qualified."
2) Warn about qualifiers on function types: C99 6.7.3p8: "If the
specification of a function type includes any type qualifiers, the
behavior is undefined."
3) Implement restrict on C++ references.
4) fix some locations for various C++ reference diagnostics.
llvm-svn: 49081
|
| |
|
|
| |
llvm-svn: 49080
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, we got several CVR propagation cases wrong, which Eli pointed
out in PR2039.
Second, we didn't propagate address space qualifiers correctly, leading
to incorrect lowering of code in CodeGen/address-space.c.
Third, we didn't uniformly propagate the specifier in the array to the
pointer ("int[restrict 4]" -> "int *restrict").
This adds an ASTContext::getArrayDecayedType member that handles the
non-trivial logic for this seemingly simple operation.
llvm-svn: 49078
|
| |
|
|
|
|
| |
GRSimpleVals warnings. Cleaning up, but now we get multiple bubbles (branches are annotated).
llvm-svn: 49077
|
| |
|
|
| |
llvm-svn: 49075
|
| |
|
|
| |
llvm-svn: 49074
|
| |
|
|
|
|
| |
functionality change.
llvm-svn: 49072
|
| |
|
|
| |
llvm-svn: 49068
|
| |
|
|
| |
llvm-svn: 49066
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
(to inherit from NamedDecl, instead of ScopedDecl).
- Added a DenseMap to associate an IdentifierInfo with the ObjCCompatibleAliasDecl.
- Renamed LookupScopedDecl->LookupDecl and changed it's return type to Decl. Also added lookup for ObjCCompatibleAliasDecl's.
- Removed Sema::LookupInterfaceDecl(). Converted clients to used LookupDecl().
- Some minor indentation changes.
Will deal with ObjCInterfaceDecl and getObjCInterfaceDecl() in a separate commit...
llvm-svn: 49058
|
| |
|
|
| |
llvm-svn: 49057
|
| |
|
|
| |
llvm-svn: 49042
|
| |
|
|
| |
llvm-svn: 49033
|
| |
|
|
|
|
|
| |
The new MemoryBuffer doesn't "leak" file descriptors and handles the
small file case efficiently.
llvm-svn: 49032
|
| |
|
|
| |
llvm-svn: 49001
|
| |
|
|
|
|
| |
a PathDiagnosticClient.
llvm-svn: 48996
|
| |
|
|
|
|
|
|
|
|
| |
4->12 pages).
This is a temporary solution to avoid running out of file descriptors (which defaults to 256).
Need to benchmark to understand the speed benefit. If the benefit is small, the simple solution is to avoid memory mapping files. If the benefit is significant, more thought is necessary.
llvm-svn: 48991
|
| |
|
|
| |
llvm-svn: 48990
|
| |
|
|
|
|
|
|
|
|
| |
GRSimpleVals.h
Added a PathDiagnosticClient option to the driver functions for the
CFRefCountChecker and the GRSimpleVals analysis. Both analyses now accept a "-o"
argument from the driver that specifies where HTML reports should be dumped.
llvm-svn: 48989
|
| |
|
|
|
|
|
| |
an optional DiagnosticClient argument that differs from the client stored
internally in the Diagnostic object.
llvm-svn: 48986
|
| |
|
|
|
|
|
| |
of a stack variable. This is the path-sensitive version of a check that
is already done during semantic analysis.
llvm-svn: 48980
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix objc ivar lookup. Ivar lookup should occur between lookup
of method-local values and lookup of globals. Emulate this with
some logic in the handling of Sema::ActOnIdentifierExpr.
Two todo's left:
1) sema shouldn't turn a bare reference to an ivar into "self->ivar"
in the AST. This is a hack.
2) The new ScopedDecl::isDefinedOutsideFunctionOrMethod method does
not correctly handle typedefs and enum constants yet.
llvm-svn: 48972
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
remaining open issues I've communicated to him:
1) self can be assigned to, and his patch didn't handle it correctly.
2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses
all parent class ivars) and flattens classes. If A derives from B,
and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}.
David, please review.
llvm-svn: 48970
|
| |
|
|
|
|
| |
etoile runtime, patch by David Chisnall!
llvm-svn: 48969
|
| |
|
|
| |
llvm-svn: 48924
|
| |
|
|
|
|
|
|
| |
nil). This won't be useful in most cases right now
because the analyzer isn't tracking expected types for an object, and [NSString alloc] just runs "id".
llvm-svn: 48917
|
| |
|
|
| |
llvm-svn: 48898
|
| |
|
|
|
|
| |
Added test case to test warning about passing 'nil' to NSString's compare: method.
llvm-svn: 48896
|
| |
|
|
| |
llvm-svn: 48895
|
| |
|
|
|
|
| |
Bug fix in EscapeText (for std::string) where spaces were not properly emitted.
llvm-svn: 48889
|
| |
|
|
|
|
| |
driver.
llvm-svn: 48886
|
| |
|
|
|
|
| |
message bubbles.
llvm-svn: 48884
|
| |
|
|
| |
llvm-svn: 48869
|
| |
|
|
|
|
|
|
|
| |
checkers to be injected into the analyzer.
Added "AnnotatedPath" class to record an annotated path that will be useful for inspecting paths.
Added some boilerplate code for simple checks of Apple's Foundation API.
llvm-svn: 48867
|
| |
|
|
|
|
| |
PathDiagnostic no longer contains a diagnostic ID or diagnostic level.
llvm-svn: 48864
|
| |
|
|
|
|
| |
"PathDiagnosticClient", which encapsulate diagnostic reporting for paths.
llvm-svn: 48861
|
| |
|
|
|
|
| |
DeclRefExpr, not it's address).
llvm-svn: 48846
|
| |
|
|
|
|
| |
expression as an ordinary expression, not using VisitLVal.
llvm-svn: 48842
|
| |
|
|
|
|
| |
SystemHeaderDir's.
llvm-svn: 48841
|
| |
|
|
|
|
| |
# this is my first commit here, so please be gentle :)
llvm-svn: 48807
|
| |
|
|
|
|
| |
the future, RecordTypes.
llvm-svn: 48784
|
| |
|
|
|
|
| |
passing an uninitialized value to a message expresion.
llvm-svn: 48776
|
| |
|
|
|
|
| |
and message expressions with a specified receiver.
llvm-svn: 48773
|
| |
|
|
|
|
|
|
| |
expressions
and uninitialized values passed-by-value as arguments to message expressions.
llvm-svn: 48760
|
| |
|
|
| |
llvm-svn: 48757
|
| |
|
|
|
|
| |
for message bubbles.
llvm-svn: 48754
|