- Apr 02, 2008
-
-
Steve Naroff authored
Two changes to Sema::LookupDecl() interface. (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
-
Ted Kremenek authored
that describe a bug. llvm-svn: 49086
-
Chris Lattner authored
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
-
Chris Lattner authored
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
-
Chris Lattner authored
llvm-svn: 49080
-
Chris Lattner authored
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
-
Ted Kremenek authored
GRSimpleVals warnings. Cleaning up, but now we get multiple bubbles (branches are annotated). llvm-svn: 49077
-
Chris Lattner authored
llvm-svn: 49075
-
Chris Lattner authored
llvm-svn: 49074
-
Chris Lattner authored
functionality change. llvm-svn: 49072
-
Chris Lattner authored
llvm-svn: 49068
-
Steve Naroff authored
llvm-svn: 49066
-
Steve Naroff authored
Fairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass (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
-
Ted Kremenek authored
llvm-svn: 49057
-
- Apr 01, 2008
-
-
Chris Lattner authored
llvm-svn: 49042
-
Chris Lattner authored
llvm-svn: 49033
-
Chris Lattner authored
The new MemoryBuffer doesn't "leak" file descriptors and handles the small file case efficiently. llvm-svn: 49032
-
Ted Kremenek authored
llvm-svn: 49001
-
- Mar 31, 2008
-
-
Ted Kremenek authored
a PathDiagnosticClient. llvm-svn: 48996
-
Steve Naroff authored
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
-
Ted Kremenek authored
llvm-svn: 48990
-
Ted Kremenek authored
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
-
Ted Kremenek authored
an optional DiagnosticClient argument that differs from the client stored internally in the Diagnostic object. llvm-svn: 48986
-
Ted Kremenek authored
of a stack variable. This is the path-sensitive version of a check that is already done during semantic analysis. llvm-svn: 48980
-
Chris Lattner authored
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
-
Chris Lattner authored
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
-
Chris Lattner authored
etoile runtime, patch by David Chisnall! llvm-svn: 48969
-
- Mar 28, 2008
-
-
Steve Naroff authored
llvm-svn: 48924
-
Ted Kremenek authored
Added skeleton checking for NSString's method initWithFormat: (do not pass 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
-
- Mar 27, 2008
-
-
Ted Kremenek authored
llvm-svn: 48898
-
Ted Kremenek authored
Added test case to test warning about passing 'nil' to NSString's compare: method. llvm-svn: 48896
-
Ted Kremenek authored
llvm-svn: 48895
-
Ted Kremenek authored
Bug fix in EscapeText (for std::string) where spaces were not properly emitted. llvm-svn: 48889
-
Ted Kremenek authored
llvm-svn: 48886
-
Ted Kremenek authored
llvm-svn: 48884
-
Ted Kremenek authored
llvm-svn: 48869
-
Ted Kremenek authored
Added "GRAuditor" and "GRSimpleAPICheck" interface to allow simple stateless 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
-
Ted Kremenek authored
PathDiagnostic no longer contains a diagnostic ID or diagnostic level. llvm-svn: 48864
-
Ted Kremenek authored
Added classes "PathDiagnosticPiece", "PathDiagnostic", and "PathDiagnosticClient", which encapsulate diagnostic reporting for paths. llvm-svn: 48861
-
- Mar 26, 2008
-
-
Ted Kremenek authored
Bug fix: use GetRVal instead of GetLVal (were getting the value of a DeclRefExpr, not it's address). llvm-svn: 48846
-