- Oct 31, 2008
-
-
Ted Kremenek authored
llvm-svn: 58479
-
Ted Kremenek authored
Enhance path-sensitive return-of-stack-address check to print out the line number of a compound literal (whose address is being returned) instead of printing out the hex representation of the pointer address of the CompoundLiteralExpr. llvm-svn: 58478
-
Ted Kremenek authored
llvm-svn: 58469
-
Ted Kremenek authored
llvm-svn: 58468
-
- Oct 30, 2008
-
-
Ted Kremenek authored
Distinguish between self.X = ... where self.X is a property reference and self.X is an implicit call to setX. llvm-svn: 58462
-
Ted Kremenek authored
llvm-svn: 58446
-
Ted Kremenek authored
Pretty-printing for SVals now mainly uses llvm::raw_ostream. We have an adapter for std::ostream, but this will be removed in the future. llvm-svn: 58445
-
Ted Kremenek authored
llvm-svn: 58444
-
Ted Kremenek authored
Added pretty-printing for nonloc::CompoundSVal. llvm-svn: 58442
-
Ted Kremenek authored
llvm-svn: 58441
-
Ted Kremenek authored
llvm-svn: 58440
-
Ted Kremenek authored
CompoundVal now uses an ImmutableList<SVal> to store its set of SVals. This change was motivated by the need to allow state-splitting in GRExprEngine::VisitInitListExpr. As a side-benefit, we no longer need to perform any copies of SVals when creating a CompoundSVal, and the profiling of CompoundSVal is now constant time. llvm-svn: 58437
-
Ted Kremenek authored
Fix PR 2978 false positive for missing release in -dealloc of an ivar retained via a property and then released by assigning nil to that property: http://llvm.org/bugs/show_bug.cgi?id=2978 llvm-svn: 58431
-
Douglas Gregor authored
llvm-svn: 58429
-
Zhongxing Xu authored
llvm-svn: 58422
-
Zhongxing Xu authored
- SetSVal(GRState*, Loc, SVal) => BindLoc - SetSVal(GRState*, Expr*, SVal) => BindExpr llvm-svn: 58421
-
Zhongxing Xu authored
llvm-svn: 58419
-
Zhongxing Xu authored
llvm-svn: 58418
-
Zhongxing Xu authored
llvm-svn: 58417
-
Ted Kremenek authored
llvm-svn: 58410
-
Douglas Gregor authored
llvm-svn: 58404
-
- Oct 29, 2008
-
-
Daniel Dunbar authored
- That is, the metadata for a protocol is only emitted if that protocol is actually used in the translation unit. This is important because Objective-C headers frequently contain a large number of protocol definitions, only a few of which will be used in any given file. llvm-svn: 58400
-
Ted Kremenek authored
Fix crash reported in PR2923 where a function declared using typeof(another_function) would have FunctionDecl::getNumParams() return the number of parameters in the original function type and not the number of parameters in the actual FunctionDecl. llvm-svn: 58392
-
Douglas Gregor authored
- Allows definitions of overloaded functions :) - Eliminates extraneous error messages when we have a definition of a function that isn't an overload but doesn't have exactly the same type as the original. llvm-svn: 58382
-
Douglas Gregor authored
llvm-svn: 58381
-
Douglas Gregor authored
Temporary disable the const-object-declaration-without-initializer check, because it depends on linkage-specifier semantics we don't yet have llvm-svn: 58377
-
Zhongxing Xu authored
llvm-svn: 58373
-
Eli Friedman authored
va_list, not the value. Patch fixes an assert on x86-64 and a wrong-code bug on x86. I'm not completely sure, but I think it's a regression from r58306. Does anyone run regression tests regularly on x86-64? The crash should have been picked up there. llvm-svn: 58366
-
Ted Kremenek authored
The attached patch adds additional checks to -warn-objc-missing-dealloc. It checks that all ivars which are used in implementation of synthesized properties are either a) released in dealloc if the property has retain" or "copy" attribute OR b) not released in dealloc if the property has "assign" attribute llvm-svn: 58363
-
Ted Kremenek authored
llvm-svn: 58362
-
Daniel Dunbar authored
arguments. - More important than it looks, this inhibits trivial inlining otherwise. llvm-svn: 58360
-
Zhongxing Xu authored
BindDecl better describes what the function does: - Bind the VarDecl to its memory region - Bind the memory region to some initial value. llvm-svn: 58359
-
Douglas Gregor authored
ImplicitConversionSequence and, when doing so, following the specific rules of [over.best.ics]. The computation of the implicit conversion sequences implements C++ [over.ics.ref], but we do not (yet) have ranking for implicit conversion sequences that use reference binding. llvm-svn: 58357
-
Douglas Gregor authored
of copy initialization. Other pieces of the puzzle: - Try/Perform-ImplicitConversion now handles implicit conversions that don't involve references. - Try/Perform-CopyInitialization uses CheckSingleAssignmentConstraints for C. PerformCopyInitialization is now used for all argument passing and returning values from a function. - Diagnose errors with declaring references and const values without an initializer. (Uses a new Action callback, ActOnUninitializedDecl). We do not yet have implicit conversion sequences for reference binding, which means that we don't have any overloading support for reference parameters yet. llvm-svn: 58353
-
- Oct 28, 2008
-
-
Douglas Gregor authored
llvm-svn: 58331
-
Douglas Gregor authored
llvm-svn: 58330
-
Zhongxing Xu authored
llvm-svn: 58322
-
Zhongxing Xu authored
llvm-svn: 58321
-
Daniel Dunbar authored
in the driver (this means we no longer run the verifier per function, however). llvm-svn: 58307
-
Douglas Gregor authored
- Do not allow expressions to ever have reference type - Extend Expr::isLvalue to handle more cases where having written a reference into the source implies that the expression is an lvalue (e.g., function calls, C++ casts). - Make GRExprEngine::VisitCall treat the call arguments as lvalues when they are being bound to a reference parameter. llvm-svn: 58306
-