| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 58381
|
|
|
|
|
|
| |
because it depends on linkage-specifier semantics we don't yet have
llvm-svn: 58377
|
|
|
|
| |
llvm-svn: 58373
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 58362
|
|
|
|
|
|
|
|
| |
arguments.
- More important than it looks, this inhibits trivial inlining
otherwise.
llvm-svn: 58360
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 58331
|
|
|
|
| |
llvm-svn: 58330
|
|
|
|
| |
llvm-svn: 58322
|
|
|
|
| |
llvm-svn: 58321
|
|
|
|
|
|
| |
in the driver (this means we no longer run the verifier per function, however).
llvm-svn: 58307
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
uninitialized value warning from gcc.
llvm-svn: 58305
|
|
|
|
| |
llvm-svn: 58304
|
|
|
|
|
|
|
| |
being emitted unless needed and doesn't inhibit inlining.
- Can be fixed once we implement C99 inline semantics.
llvm-svn: 58303
|
|
|
|
|
|
|
|
| |
symbol_iterator.
- Add symbol_iterator support for SymbolicRegions.
llvm-svn: 58300
|
|
|
|
| |
llvm-svn: 58292
|
|
|
|
| |
llvm-svn: 58281
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
getVarRegion() method. This provides a common clean API for clients.
llvm-svn: 58272
|
|
|
|
|
|
| |
for a compound literal.
llvm-svn: 58270
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
| |
Stmt.h
- 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
|
|
|
|
| |
llvm-svn: 58247
|
|
|
|
|
|
| |
ArrayType.
llvm-svn: 58245
|
|
|
|
|
|
| |
reverse order, because there may be dependencies among the declarations.
llvm-svn: 58244
|
|
|
|
| |
llvm-svn: 58243
|
|
|
|
|
|
| |
This simplifies debug of this particular diagnostic (and removes some code clutter).
llvm-svn: 58242
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
crash on TypedefType.
llvm-svn: 58236
|
|
|
|
|
|
| |
when a function pointer is used as an argument.
llvm-svn: 58233
|
|
|
|
| |
llvm-svn: 58224
|
|
|
|
|
|
|
|
| |
not the
darwin or AIX abis. This fixes PR2904.
llvm-svn: 58222
|
|
|
|
|
|
|
|
| |
t.c:1:13: error: cannot codegen this designators yet
int a[10] = {2, 4, [8]=9, 10};
^~~~~~~~~~~~~~~~~
llvm-svn: 58220
|
|
|
|
| |
llvm-svn: 58218
|
|
|
|
|
|
| |
support as far as I know.
llvm-svn: 58217
|
|
|
|
|
|
| |
objc mode.
llvm-svn: 58216
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
fix an obscure memory leak.
llvm-svn: 58213
|
|
|
|
|
|
| |
improve diagnostic for a malformed field designator.
llvm-svn: 58212
|
|
|
|
|
|
| |
easier to understand and hack on, no functionality change.
llvm-svn: 58210
|
|
|
|
|
|
| |
about whether a leading identifier is a designator.
llvm-svn: 58207
|
|
|
|
|
|
|
| |
initializer, avoiding an extra level of calls for silly things like
'int x = 4'.
llvm-svn: 58206
|
|
|
|
|
|
|
|
|
|
|
| |
1. It introduces new parser level abstractions for designators
that are used to communicate between parser and sema.
2. This fixes a FIXME where "identifier ':'" was considered to be
a designator even if it wasn't the first in a designator list.
3. In the "identifier ':'" case, it actually builds the designator
representation.
llvm-svn: 58205
|
|
|
|
| |
llvm-svn: 58203
|
|
|
|
|
|
|
|
|
| |
TypeQuals parameter, it causes subtle bugs where TypeQuals, while necessary, are omitted from the call.
-Remove the default argument.
-Update all call sites of ASTContext::getFunctionType.
llvm-svn: 58187
|