- Oct 30, 2008
-
-
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
-
Ted Kremenek authored
Initialize Suffix and Prefix to 0, even with a bad entry. Removes an uninitialized value warning from gcc. llvm-svn: 58305
-
Daniel Dunbar authored
llvm-svn: 58304
-
Daniel Dunbar authored
being emitted unless needed and doesn't inhibit inlining. - Can be fixed once we implement C99 inline semantics. llvm-svn: 58303
-
Ted Kremenek authored
- Add symbol_iterator support for SymbolicRegions. llvm-svn: 58300
-
Ted Kremenek authored
llvm-svn: 58292
-
- Oct 27, 2008
-
-
Daniel Dunbar authored
llvm-svn: 58281
-
Ted Kremenek authored
- GRExprEngine::VisitCompoundLiteral... (1) visits the initializer list (generating ExplodedNodes) (2) creates a CompoundMemRegion for the literal (3) creates a new state with the bound literal values using GRStateManager::BindCompoundLiteral - GRStateManager::BindCompoundLiteral simply calls StoreManager::BindCompoundLiteral to get a new store and returns a persistent GRState with that store. - BasicStore::BindCompoundLiteral simply returns the same store, as it doesn't handle field sensitivity - RegionStore::BindCompoundLiteral currently fires an assert (pending discussion of how to best implement mappings for CompoundLiteralRegion). llvm-svn: 58277
-
Ted Kremenek authored
Pull determination of the super region for a VarRegion into a single getVarRegion() method. This provides a common clean API for clients. llvm-svn: 58272
-
Ted Kremenek authored
llvm-svn: 58270
-
Douglas Gregor authored
- CastExpr is the root of all casts - ImplicitCastExpr is (still) used for all explicit casts - ExplicitCastExpr is now the root of all *explicit* casts - ExplicitCCastExpr (new name needed!?) is a C-style cast in C or C++ - CXXFunctionalCastExpr inherits from ExplicitCastExpr - CXXNamedCastExpr inherits from ExplicitCastExpr and is the root of all of the C++ named cast expression types (static_cast, dynamic_cast, etc.) - Added classes CXXStaticCastExpr, CXXDynamicCastExpr, CXXReinterpretCastExpr, and CXXConstCastExpr to Also, fixed returned-stack-addr.cpp, which broke once when we fixed reinterpret_cast to diagnose double->int* conversions and again when we eliminated implicit conversions to reference types. The fix is in both testcase and SemaChecking.cpp. Most of this patch is simply support for the renaming. There's very little actual change in semantics. llvm-svn: 58264
-
Ted Kremenek authored
- Implement child_begin() and child_end() for AsmStmt. Previously these had stub implementations that did not iterate over the input/output operands of an inline assembly statement. - Use ExprIterator for performing iteration over input/output operands. llvm-svn: 58261
-
Zhongxing Xu authored
llvm-svn: 58247
-
Zhongxing Xu authored
llvm-svn: 58245
-
Douglas Gregor authored
When destroying a translation unit, deallocate its owned declarations in reverse order, because there may be dependencies among the declarations. llvm-svn: 58244
-
Zhongxing Xu authored
llvm-svn: 58243
-
Steve Naroff authored
This simplifies debug of this particular diagnostic (and removes some code clutter). llvm-svn: 58242
-