summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Extend ASTContext::getTypeInfo() and ASTContext::getObjCEncodingForType() ↵Steve Naroff2008-09-241-0/+8
| | | | | | | | for BlockTypes. This fixes <rdar://problem/6240616> clang: Assertion failed when using typedef and Blocks. llvm-svn: 56554
* Implement Obj-C synthesized setters for copy / retain.Daniel Dunbar2008-09-242-23/+65
| | | | llvm-svn: 56547
* Implement Obj-C getter synthesis for copy and retain.Daniel Dunbar2008-09-241-12/+56
| | | | | | Also, "simple" getter synthesis no longer uses temporary AST objects. llvm-svn: 56544
* Refactor some CodeGen functionality: Daniel Dunbar2008-09-243-16/+59
| | | | | | | | | | - 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
* Add Obj-C runtime methods to get runtime specific functions forDaniel Dunbar2008-09-243-10/+61
| | | | | | implementing property access. llvm-svn: 56542
* Adjust whitespaces.Devang Patel2008-09-241-2/+2
| | | | llvm-svn: 56538
* s/ParamAttrsWithIndex/FnAttributeWithIndex/gDevang Patel2008-09-242-6/+6
| | | | | | Rename to match changes done on llvm side. llvm-svn: 56537
* Implement type checking of Objective-C property attributes.Daniel Dunbar2008-09-232-9/+82
| | | | | | | | | | - 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
* Fix <rdar://problem/6240065> clang: __BLOCKS__ should be defined.Steve Naroff2008-09-231-2/+3
| | | | llvm-svn: 56503
* Add x86_64 Linux target.Daniel Dunbar2008-09-231-0/+16
| | | | | | - PR2824 llvm-svn: 56491
* Bug fix, result of isIntegerConstantExpr could be of incorrect widthDaniel Dunbar2008-09-221-26/+29
| | | | | | | for type. - PR2817 llvm-svn: 56482
* Output "REPORTHEADER" and "REPORTSUMMARYEXTRA" tags for use with scan-view.Ted Kremenek2008-09-221-2/+4
| | | | llvm-svn: 56440
* Remove unused slot/reference and update Sema::ActOnIdentifierExpr().Steve Naroff2008-09-222-5/+5
| | | | llvm-svn: 56438
* Fix http://llvm.org/bugs/show_bug.cgi?id=2816.Steve Naroff2008-09-221-6/+6
| | | | llvm-svn: 56433
* Change casing of bug type.Ted Kremenek2008-09-211-1/+1
| | | | llvm-svn: 56405
* The checks in BasicObjCFoundationChecks now have a category: "API Misuse ↵Ted Kremenek2008-09-211-3/+10
| | | | | | (Apple)" llvm-svn: 56403
* The "unused ivar" check now has a category: "Optimization"Ted Kremenek2008-09-211-1/+1
| | | | llvm-svn: 56402
* Built-in checks now have a category: "Logic Errors"Ted Kremenek2008-09-211-4/+6
| | | | llvm-svn: 56401
* Added experimental "intelligent-sizing" of HTML message bubbles based on the ↵Ted Kremenek2008-09-211-35/+77
| | | | | | contents of the message. llvm-svn: 56400
* Add a bug category for NSError** checks.Ted Kremenek2008-09-211-0/+2
| | | | llvm-svn: 56394
* Add "category" to BugTypes, allowing bugs to be grouped.Ted Kremenek2008-09-205-15/+34
| | | | | | 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
* Add PostStore, a new ProgramPoint to distinguish between 'stores' and other ↵Ted Kremenek2008-09-201-9/+19
| | | | | | | | | | 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
* Bug fix: for the base transfer function logic for casts, handle const casts ↵Ted Kremenek2008-09-191-0/+9
| | | | | | as just propagating the value. llvm-svn: 56368
* Fixed logic error in BasicConstraintManager pointed out by Zhongxing Xu.Ted Kremenek2008-09-191-20/+7
| | | | | | | | | | | | | | | 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
* Fix rdar://6222856: the receiver of a message expr is anChris Lattner2008-09-191-1/+1
| | | | | | | arbitrary expr, not just a assign expr. The grammar comment was right, the code was just wrong. llvm-svn: 56353
* When we have a binary expression 'int operator symbol', properly rewrite this asTed Kremenek2008-09-191-6/+16
| | | | | | | | '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
* Add an omitted case for AssumeSymInt.Zhongxing Xu2008-09-191-0/+6
| | | | llvm-svn: 56334
* Add panic function "__assert_fail".Ted Kremenek2008-09-191-0/+4
| | | | llvm-svn: 56327
* Register the implicit null-dereferenced object as a notable symbol.Ted Kremenek2008-09-181-0/+1
| | | | llvm-svn: 56319
* Implement second part of PR 2600: NSError** parameter may be null, and ↵Ted Kremenek2008-09-185-2/+66
| | | | | | should be checked before being dereferenced. llvm-svn: 56318
* Change implementation of NSError** coding-style check to be invoked at the ↵Ted Kremenek2008-09-183-45/+84
| | | | | | end of the retain/release analysis. llvm-svn: 56312
* Finish pushing blocks attribute through the clang attribute machinery.Steve Naroff2008-09-182-0/+30
| | | | | | Also added a couple simple tests from the "gcc.apple" test suite. llvm-svn: 56309
* Implemented one of the checks requested in PR 2600:Ted Kremenek2008-09-181-0/+72
| | | | | | | | "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
* Improve x86 ABI compatibility.Daniel Dunbar2008-09-171-1/+132
| | | | | | | | | | | | | | - 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
* Print current function on verification failures.Daniel Dunbar2008-09-171-1/+4
| | | | llvm-svn: 56291
* Drop CodeGenTypes parameter to classifyArgumentType.Daniel Dunbar2008-09-171-14/+29
| | | | | | | | | Ensure that ABIArgInfo::Default implementation for aggregrate types is sensible (StructRet on return and ByVal on arguments). No functionality change. llvm-svn: 56289
* Remove BlockStmtExpr. Steve Naroff2008-09-174-12/+7
| | | | | | | | Block literals are now represented by the concrete BlockExpr class. This is cleanup (removes a FIXME). No functionality change. llvm-svn: 56288
* Fix http://llvm.org/bugs/show_bug.cgi?id=2760.Steve Naroff2008-09-171-2/+2
| | | | llvm-svn: 56280
* Add support for ABIArgInfo::ExpandDaniel Dunbar2008-09-174-44/+183
| | | | | | - No functionality change. llvm-svn: 56269
* Minor pass-sensitivity improvement:Ted Kremenek2008-09-161-4/+25
| | | | | | | 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
* Remove support for BlockExprExpr. For example...Steve Naroff2008-09-165-64/+2
| | | | | | | | ^(expression) or ^(int arg1, float arg2)(expression) ...is no longer supported. All block literals now require a compound statement. llvm-svn: 56257
* Sema::ActOnBlockReturnStmt(): Need to perform the UsualUnaryConversions on ↵Steve Naroff2008-09-162-3/+9
| | | | | | | | | the return type. Sema::CheckReturnStackAddr(): Make sure we skip over implicit casts. Added some more test cases... llvm-svn: 56254
* ProgramPoint now takes the space of two pointers instead of one. This change wasTed Kremenek2008-09-165-144/+14
| | | | | | | | | 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
* Fixed an offset calculation error.Zhongxing Xu2008-09-161-1/+1
| | | | llvm-svn: 56242
* Patch by Csaba Hruska!Ted Kremenek2008-09-139-41/+68
| | | | | | | "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
* Add missing spaces in path diagnostics.Ted Kremenek2008-09-121-3/+3
| | | | llvm-svn: 56166
* Add --suppress-system-warnings (on by default, use =0 to disable)Daniel Dunbar2008-09-122-6/+10
| | | | | | | | | - 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
* Give string literals const element typesin C++, and cope with the deprecated ↵Douglas Gregor2008-09-124-0/+57
| | | | | | C++ conversion from a string literal to a pointer-to-non-const-character llvm-svn: 56137
* Iterate on sema for :? in Objective-C:Daniel Dunbar2008-09-111-34/+75
| | | | | | | | | | | | | | | | | | | | | | - 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
* Add comments about C++ clause 3.3.2p4 that mentions that the condition ↵Argyrios Kyrtzidis2008-09-111-0/+16
| | | | | | declaration should be local to an if/switch/while/for statement. llvm-svn: 56134
OpenPOWER on IntegriCloud