- Oct 29, 2008
-
-
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
-
rdar://problem/6315646Steve Naroff authored
Fix <rdar://problem/6315646> clang on xcode: error: invalid operands to binary expression ('id<NSTableViewDelegate>' and 'XCExtendedArrayController *'). There is still a bug here (as the FIXME in the test case indicates). Prior to this patch, the bug would generate an error. Now, we simply do nothing (which is less harmful until we can get it right). The complete bug fix will require changing ASTContext::mergeTypes(), which I'd like to defer for now. llvm-svn: 58241
-
Zhongxing Xu authored
llvm-svn: 58236
-
Zhongxing Xu authored
Only loc::MemRegionVal can be modified. This avoids crashing in RegionStore when a function pointer is used as an argument. llvm-svn: 58233
-
Chris Lattner authored
llvm-svn: 58224
-
Chris Lattner authored
darwin or AIX abis. This fixes PR2904. llvm-svn: 58222
-
Chris Lattner authored
t.c:1:13: error: cannot codegen this designators yet int a[10] = {2, 4, [8]=9, 10}; ^~~~~~~~~~~~~~~~~ llvm-svn: 58220
-
Chris Lattner authored
llvm-svn: 58218
-
Chris Lattner authored
support as far as I know. llvm-svn: 58217
-
Chris Lattner authored
objc mode. llvm-svn: 58216
-
Chris Lattner authored
struct foo Y[10] = { [4] .arr [2] 4 // expected-error {{expected '=' or another designator}} }; because the "missing equals" extension only is valid if there is exactly one array designator. llvm-svn: 58215
-
Chris Lattner authored
fix an obscure memory leak. llvm-svn: 58213
-
- Oct 26, 2008
-
-
Chris Lattner authored
improve diagnostic for a malformed field designator. llvm-svn: 58212
-
Chris Lattner authored
easier to understand and hack on, no functionality change. llvm-svn: 58210
-