Ted Kremenek
cc1b8532a1
Patch by Kovarththanan Rajaratnam!
...
"This minor patch adds markup of string literals with a red colour."
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55589 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-31 16:37:56 +00:00
Anders Carlsson
2abd89c039
Handle mutation while enumerating correctly. Fix some bugs.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55583 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-31 04:05:03 +00:00
Anders Carlsson
f484c31f4d
Initial support for CodeGen of for ... in statements.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55580 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-31 02:33:12 +00:00
Anders Carlsson
3d8400d9a6
Stub out CodeGenFunction::EmitObjCForCollectionStmt.
...
Add CodeGenFunction::EmitMemSetToZero and make AggExprEmitter::EmitAggregateClear use it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55573 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 19:51:14 +00:00
Anders Carlsson
bd4c1ada2e
Add code to create the fast enumeration state type
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55572 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 19:34:46 +00:00
Daniel Dunbar
4bbef0f165
Temporarily disable some tests which due to dot-syntax
...
access of methods.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55569 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 16:22:34 +00:00
Anders Carlsson
1a8f00110e
Fix indentation on files in CodeGen and Sema.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55568 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 16:18:10 +00:00
Anders Carlsson
958444659c
Simplify some calls to Builder.CreateCall
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55567 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 16:17:45 +00:00
Daniel Dunbar
7f8ea5c5b3
Add Objective-C property setter support.
...
- Change Obj-C runtime message API, drop the ObjCMessageExpr arg in
favor of just result type and selector. Necessary so it can be
reused in situations where we don't want to cons up an
ObjCMessageExpr.
- Update aggregate binary assignment to know about special property
ref lvalues.
- Add CodeGenFunction::EmitCallArg overload which takes an already
emitted rvalue.
Add CodeGenFunction::StoreComplexIntoAddr.
Disabled logic in Sema for parsing Objective-C dot-syntax that
accesses methods. This code does not search in the correct order and
the AST node has no way of properly representing its results.
Updated StmtDumper to print a bit more information about
ObjCPropertyRefExprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55561 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 05:35:15 +00:00
Daniel Dunbar
19cd87eb5f
Refactor handling of calls:
...
- Added CodeGenFunction::EmitCall which just takes the callee, return
type, and a list of (Value*,QualType) pairs.
- Added CodeGenFunction::EmitCallArg which handles emitting code for
a call argument and turning it into an appropriate
(Value*,QualType) pair.
- Changed Objective-C runtime interface so that the actual emission
of arguments for message sends is (once again) done in the code to
emit a message send.
No intended functionality change, this is prep work for better ABI
support and for Objective-C property setter support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 03:02:31 +00:00
Daniel Dunbar
0e194ddd0a
Add newline at end of file.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55559 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-30 02:06:22 +00:00
Daniel Dunbar
d3d814131b
Improve ccc:
...
- Support environment variable CCC_LANGUAGES to control which
languages clang is invoked on. If unset clang is invoked for all
languages, otherwise CCC_LANGUAGES should be a comma separated list
of the languages (as accepted by -x) for which clang should be
invoked. Useful for only building C and Objective-C parts of a
project with clang, for example.
- Add environment variable CCC_FALLBACK. If set and non-empty then
ccc will try and compile using the regular compiler if compilation
with clang fails.
- A few other tweaks to add options, flush stdout, recognize .mm as
objective-c++, and infer languages for compile+link style
invocations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55547 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 21:03:27 +00:00
Daniel Dunbar
662174c82e
Downgrade a number of FIXME asserts to ErrorUnsupported.
...
- Notably VLAs
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55544 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 17:28:43 +00:00
Nico Weber
91c027e202
fix a comment that was forgotten in r54071
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55543 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 17:24:46 +00:00
Nico Weber
491be73282
minor cleanup
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55538 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 17:02:23 +00:00
Zhongxing Xu
d19e21bcd3
Added LLVM comment header.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55537 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 15:09:12 +00:00
Zhongxing Xu
39cfed397b
Migrate the rest symbolic analysis stuff to BasicConstraintManager.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55536 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 14:52:36 +00:00
Daniel Dunbar
85c59edda0
Add special "property reference" CodeGen::LValue type for emitting
...
Objective-C property references.
- This handles property references "more correctly" but setters still
don't work.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55534 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 08:11:39 +00:00
Ted Kremenek
d70900be3c
Remove dead method.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55526 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 03:55:31 +00:00
Daniel Dunbar
932680ecde
Add newline to end of file.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55525 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 03:45:59 +00:00
Daniel Dunbar
33b511889b
Add utils/FindSpecRefs, Python script for generating specification
...
references HTML page.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55524 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 01:07:08 +00:00
Ted Kremenek
2bc39c6107
Added "getBindings" and "BindingAsString" to GRStateManager and StoreManager.
...
Migrated CFRefCount.cpp to use getBindings and BindingsAsString instead of
making assumptions about the Store (removed dependence on GRState::vb_iterator).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55522 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-29 00:47:32 +00:00
Ted Kremenek
561ca4be84
Remove BasicStore.h from Xcode project.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55520 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 23:40:08 +00:00
Ted Kremenek
c0637cfe92
Remove BasicStore.h (migrated function prototype for CreateBasicStore() to Store.h)
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55519 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 23:39:42 +00:00
Ted Kremenek
a3206b4f8c
Remove Regions.cpp from VS project file.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55517 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 23:34:54 +00:00
Ted Kremenek
58ecc94336
Removed Regions.[h,cpp] from the Xcode project.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55516 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 23:33:36 +00:00
Ted Kremenek
05d0977a1c
Remove Regions.h and Regions.cpp, since we are now using an even more abstract representation of "memory regions" in the static analyzer.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55515 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 23:32:43 +00:00
Ted Kremenek
5f81c44154
Make store "Regions" and "Bindings" more abstract instead of concrete variants.
...
Their precise semantics will be implemented by a specific StoreManager.
Use function pointer to create the StoreManager in GRStateManager. This matches how we create ConstraintsManager.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55514 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 23:31:31 +00:00
Daniel Dunbar
852119ea9b
Allow 'make TESTDIRS=Sema' in test/ directory for only running a
...
subset of tests.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55513 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 23:28:16 +00:00
Ted Kremenek
fe1ab5e5a7
Updated analyzer build.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55505 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 22:15:34 +00:00
Ted Kremenek
6f12007499
Use explicit variable instead of $?
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55501 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 21:28:55 +00:00
Steve Naroff
296e8d5fdc
Add parser/action support for block literal expressions.
...
Parser support for blocks is almost complete...just need to add support for the __block() storage class qualifier.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55495 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 19:20:44 +00:00
Ted Kremenek
982e674e39
Fixed analyzer caching bug involving the transfer function for loads.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55494 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 18:43:46 +00:00
Daniel Dunbar
aa1f9f1d50
Fix isIntegerConstantExpr eval of __builtin_offsetof to return result
...
with correct width.
- PR2728.
Also, fix PR2727 test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55493 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 18:42:20 +00:00
Ted Kremenek
45479c88c8
Always print out the function we're analyzing.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55488 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 18:34:41 +00:00
Ted Kremenek
e6c62e3d43
Fixed analyzer caching bug in DeclStmt.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55487 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 18:34:26 +00:00
Daniel Dunbar
9048891ff9
Fix double-free error with sizeof applied to VLA types.
...
- PR2727.
Also, fix warning in CodeGenTypes for new BlockPointer type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55479 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 18:02:04 +00:00
Steve Naroff
4ef1c99433
Fix Parser::ParseDeclaratorInternal(): add langopts test when recognizing blocks.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55468 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 10:07:06 +00:00
Argyrios Kyrtzidis
77a49f6b1e
Fix compilation error on MSVC.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55465 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 07:45:57 +00:00
Ted Kremenek
56b98719b0
Ubigraph visualization: represent cached nodes with a different style.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55463 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 05:02:09 +00:00
Ted Kremenek
f1f17006b2
Enhance ubiviz to support vertex styles.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55462 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 05:01:37 +00:00
Daniel Dunbar
c56f34a1c1
NeXT: Emit mostly-correct property type encoding.
...
- Added ASTContext::getObjCEncodingForPropertyDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55461 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 04:38:10 +00:00
Ted Kremenek
710ad9343f
Automatically execute ubiviz.
...
Cleanup ubigraph files when don't drawing the graphs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55459 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 03:54:51 +00:00
Ted Kremenek
9b111a08c3
Update checker build.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55455 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 01:42:51 +00:00
Ted Kremenek
cb344d0f9b
Fix regression: immediately terminate ccc-analyzer when gcc reports an error.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55452 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-28 01:18:44 +00:00
Ted Kremenek
6855492ab6
Update Xcode project.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55449 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 23:13:22 +00:00
Ted Kremenek
05125f180d
Make the destructor of ConstraintManager virtual.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55448 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 23:13:01 +00:00
Ted Kremenek
abebf0f7c4
Update checker build.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55447 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 22:49:55 +00:00
Ted Kremenek
d1289327f7
Ubigraph-rendered ExplodedGraphs now have arrows and are oriented downward.
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55446 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 22:46:55 +00:00
Ted Kremenek
f8ce6991f4
Added Ubigraph visualization for the static analyzer (this is pretty alpha quality).
...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55442 91177308-0d34-0410-b5e6-96231b3b80d8
2008-08-27 22:31:43 +00:00