| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
for BlockTypes.
This fixes <rdar://problem/6240616> clang: Assertion failed when using typedef and Blocks.
llvm-svn: 56554
|
|
|
|
| |
llvm-svn: 56547
|
|
|
|
|
|
| |
Also, "simple" getter synthesis no longer uses temporary AST objects.
llvm-svn: 56544
|
|
|
|
|
|
|
|
|
|
| |
- Add CodeGenFunction::{EmitReturnOfRValue, EmitIvarOffset}
- Factor EmitLValueForIvar out of EmitObjCIvarRefLValue.
No non-error functionality change (some unsupported errors are
degraded to asserts for the time being).
llvm-svn: 56543
|
|
|
|
|
|
| |
implementing property access.
llvm-svn: 56542
|
|
|
|
| |
llvm-svn: 56538
|
|
|
|
|
|
| |
Rename to match changes done on llvm side.
llvm-svn: 56537
|
|
|
|
|
|
|
|
|
|
| |
- readonly and readwrite are mutually exclusive.
- assign, copy, and retain are mutually exclusive.
- copy and retain are invalid on non-object types.
- Warn about using default 'assign' property on object types
(attempting to follow gcc behavior).
llvm-svn: 56507
|
|
|
|
| |
llvm-svn: 56503
|
|
|
|
|
|
| |
- PR2824
llvm-svn: 56491
|
|
|
|
|
|
|
| |
for type.
- PR2817
llvm-svn: 56482
|
|
|
|
| |
llvm-svn: 56440
|
|
|
|
| |
llvm-svn: 56438
|
|
|
|
| |
llvm-svn: 56433
|
|
|
|
| |
llvm-svn: 56405
|
|
|
|
|
|
| |
(Apple)"
llvm-svn: 56403
|
|
|
|
| |
llvm-svn: 56402
|
|
|
|
| |
llvm-svn: 56401
|
|
|
|
|
|
| |
contents of the message.
llvm-svn: 56400
|
|
|
|
| |
llvm-svn: 56394
|
|
|
|
|
|
| |
Changed casing of many bug names. The convention will be to have bug names (mostly) lower cased, and categories use some capitalization.
llvm-svn: 56385
|
|
|
|
|
|
|
|
|
|
| |
PostStmts.
GRExprEngine:
Use PostStore in EvalStore.
Use a second version of EvalStore in EvalBinaryOperator to associate the store with the expression on the LHS.
llvm-svn: 56383
|
|
|
|
|
|
| |
as just propagating the value.
llvm-svn: 56368
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For checking if a symbol >= value, we need to check if symbol == value || symbol
> value. When checking symbol > value and we know that symbol != value, the path
is infeasible only if value == maximum integer.
For checking if a symbol <= value, we need to check if symbol == value || symbol
< value. When checking symbol < value and we know that symbol != value, the path
is infeasible only if value == minimum integer.
Updated test case exercising this logic: we only prune paths if the values are
unsigned.
llvm-svn: 56354
|
|
|
|
|
|
|
| |
arbitrary expr, not just a assign expr. The grammar comment
was right, the code was just wrong.
llvm-svn: 56353
|
|
|
|
|
|
|
|
| |
'symbol operator-reverse int'. This patch is a combination of code from
Zhongxing Xu and myself (Zhongxing noticed this bug for the cases of
relational operators).
llvm-svn: 56351
|
|
|
|
| |
llvm-svn: 56334
|
|
|
|
| |
llvm-svn: 56327
|
|
|
|
| |
llvm-svn: 56319
|
|
|
|
|
|
| |
should be checked before being dereferenced.
llvm-svn: 56318
|
|
|
|
|
|
| |
end of the retain/release analysis.
llvm-svn: 56312
|
|
|
|
|
|
| |
Also added a couple simple tests from the "gcc.apple" test suite.
llvm-svn: 56309
|
|
|
|
|
|
|
|
| |
"Method accepting NSError** argument should have non-void return value to indicate that an error occurred."
Test case written, but the header needs to be delta-debugged reduced. Will commit shortly.
llvm-svn: 56297
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Enables use of ABIArgInfo::Expand when needed. This greatly
improves our x86 ABI compatibility.
- As the infrastructure for target specific ABI handling isn't built
yet, this change means ABI compatibility on other platforms is once
again broken in a different way than before.
- Upcoming: Figure out how to refactor ABI handling into
targets. More documentation.
llvm-svn: 56293
|
|
|
|
| |
llvm-svn: 56291
|
|
|
|
|
|
|
|
|
| |
Ensure that ABIArgInfo::Default implementation for aggregrate types
is sensible (StructRet on return and ByVal on arguments).
No functionality change.
llvm-svn: 56289
|
|
|
|
|
|
|
|
| |
Block literals are now represented by the concrete BlockExpr class.
This is cleanup (removes a FIXME).
No functionality change.
llvm-svn: 56288
|
|
|
|
| |
llvm-svn: 56280
|
|
|
|
|
|
| |
- No functionality change.
llvm-svn: 56269
|
|
|
|
|
|
|
| |
if we know that 'len != 0' and know that 'i == 0' then we know that
'i < len' must evaluate to true and cannot evaluate to false
llvm-svn: 56260
|
|
|
|
|
|
|
|
| |
^(expression) or ^(int arg1, float arg2)(expression)
...is no longer supported.
All block literals now require a compound statement.
llvm-svn: 56257
|
|
|
|
|
|
|
|
|
| |
the return type.
Sema::CheckReturnStackAddr(): Make sure we skip over implicit casts.
Added some more test cases...
llvm-svn: 56254
|
|
|
|
|
|
|
|
|
| |
motivated because it became clear that the number of subclasses of ProgramPoint
would expand and we ran out of bits to represent a pointer variant. As a plus of
this change, BlockEdge program points can now be represented explicitly without
using a cache of CFGBlock* pairs in CFG.
llvm-svn: 56245
|
|
|
|
| |
llvm-svn: 56242
|
|
|
|
|
|
|
| |
"Here is a patch what replaces std::ostream with llvm::raw_ostream. This patch
covers the AST library, but ignores Analysis lib."
llvm-svn: 56185
|
|
|
|
| |
llvm-svn: 56166
|
|
|
|
|
|
|
|
|
| |
- For investigating warnings in system headers / builtins.
- Currently also enables the behavior that allows silent redefinition
of types in system headers. Conceptually these are separate but I
didn't feel it was worth two options (or changing LangOptions).
llvm-svn: 56163
|
|
|
|
|
|
| |
C++ conversion from a string literal to a pointer-to-non-const-character
llvm-svn: 56137
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Follow C99 behavior of using other operand type when one of
operands is a null pointer constant.
- Fix overenthusiastic devolving of any Objective-C types to id:
o If either operand has an Objective-C object type then:
- If both operands are interfaces and either operand can be
assigned to the other, use that type as the composite type.
- Otherwise, if either type is id, use id as the composite type.
- Otherwise, warn about incompatible types and use id as the
composite type.
- Return handling of qualified idea to separate test following
general pointer type checking.
o Upgraded from old code to allow devolving to id (without warning,
which matches GCC).
- <rdar://problem/6212771>
Add test case for issues fixed above, XFAIL though because it exposed
a new issue in property handling.
llvm-svn: 56135
|
|
|
|
|
|
| |
declaration should be local to an if/switch/while/for statement.
llvm-svn: 56134
|