Граф коммитов

4991 Коммитов

Автор SHA1 Сообщение Дата
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