]> granicus.if.org Git - clang/log
clang
16 years agoRefactor handling of calls:
Daniel Dunbar [Sat, 30 Aug 2008 03:02:31 +0000 (03:02 +0000)]
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

16 years agoAdd newline at end of file.
Daniel Dunbar [Sat, 30 Aug 2008 02:06:22 +0000 (02:06 +0000)]
Add newline at end of file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55559 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImprove ccc:
Daniel Dunbar [Fri, 29 Aug 2008 21:03:27 +0000 (21:03 +0000)]
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

16 years agoDowngrade a number of FIXME asserts to ErrorUnsupported.
Daniel Dunbar [Fri, 29 Aug 2008 17:28:43 +0000 (17:28 +0000)]
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

16 years agofix a comment that was forgotten in r54071
Nico Weber [Fri, 29 Aug 2008 17:24:46 +0000 (17:24 +0000)]
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

16 years agominor cleanup
Nico Weber [Fri, 29 Aug 2008 17:02:23 +0000 (17:02 +0000)]
minor cleanup

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55538 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded LLVM comment header.
Zhongxing Xu [Fri, 29 Aug 2008 15:09:12 +0000 (15:09 +0000)]
Added LLVM comment header.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55537 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMigrate the rest symbolic analysis stuff to BasicConstraintManager.
Zhongxing Xu [Fri, 29 Aug 2008 14:52:36 +0000 (14:52 +0000)]
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

16 years agoAdd special "property reference" CodeGen::LValue type for emitting
Daniel Dunbar [Fri, 29 Aug 2008 08:11:39 +0000 (08:11 +0000)]
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

16 years agoRemove dead method.
Ted Kremenek [Fri, 29 Aug 2008 03:55:31 +0000 (03:55 +0000)]
Remove dead method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55526 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd newline to end of file.
Daniel Dunbar [Fri, 29 Aug 2008 03:45:59 +0000 (03:45 +0000)]
Add newline to end of file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55525 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd utils/FindSpecRefs, Python script for generating specification
Daniel Dunbar [Fri, 29 Aug 2008 01:07:08 +0000 (01:07 +0000)]
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

16 years agoAdded "getBindings" and "BindingAsString" to GRStateManager and StoreManager.
Ted Kremenek [Fri, 29 Aug 2008 00:47:32 +0000 (00:47 +0000)]
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

16 years agoRemove BasicStore.h from Xcode project.
Ted Kremenek [Thu, 28 Aug 2008 23:40:08 +0000 (23:40 +0000)]
Remove BasicStore.h from Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55520 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove BasicStore.h (migrated function prototype for CreateBasicStore() to Store.h)
Ted Kremenek [Thu, 28 Aug 2008 23:39:42 +0000 (23:39 +0000)]
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

16 years agoRemove Regions.cpp from VS project file.
Ted Kremenek [Thu, 28 Aug 2008 23:34:54 +0000 (23:34 +0000)]
Remove Regions.cpp from VS project file.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55517 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemoved Regions.[h,cpp] from the Xcode project.
Ted Kremenek [Thu, 28 Aug 2008 23:33:36 +0000 (23:33 +0000)]
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

16 years agoRemove Regions.h and Regions.cpp, since we are now using an even more abstract repres...
Ted Kremenek [Thu, 28 Aug 2008 23:32:43 +0000 (23:32 +0000)]
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

16 years agoMake store "Regions" and "Bindings" more abstract instead of concrete variants.
Ted Kremenek [Thu, 28 Aug 2008 23:31:31 +0000 (23:31 +0000)]
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

16 years agoAllow 'make TESTDIRS=Sema' in test/ directory for only running a
Daniel Dunbar [Thu, 28 Aug 2008 23:28:16 +0000 (23:28 +0000)]
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

16 years agoUpdated analyzer build.
Ted Kremenek [Thu, 28 Aug 2008 22:15:34 +0000 (22:15 +0000)]
Updated analyzer build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55505 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse explicit variable instead of $?
Ted Kremenek [Thu, 28 Aug 2008 21:28:55 +0000 (21:28 +0000)]
Use explicit variable instead of $?

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55501 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd parser/action support for block literal expressions.
Steve Naroff [Thu, 28 Aug 2008 19:20:44 +0000 (19:20 +0000)]
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

16 years agoFixed analyzer caching bug involving the transfer function for loads.
Ted Kremenek [Thu, 28 Aug 2008 18:43:46 +0000 (18:43 +0000)]
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

16 years agoFix isIntegerConstantExpr eval of __builtin_offsetof to return result
Daniel Dunbar [Thu, 28 Aug 2008 18:42:20 +0000 (18:42 +0000)]
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

16 years agoAlways print out the function we're analyzing.
Ted Kremenek [Thu, 28 Aug 2008 18:34:41 +0000 (18:34 +0000)]
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

16 years agoFixed analyzer caching bug in DeclStmt.
Ted Kremenek [Thu, 28 Aug 2008 18:34:26 +0000 (18:34 +0000)]
Fixed analyzer caching bug in DeclStmt.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55487 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix double-free error with sizeof applied to VLA types.
Daniel Dunbar [Thu, 28 Aug 2008 18:02:04 +0000 (18:02 +0000)]
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

16 years agoFix Parser::ParseDeclaratorInternal(): add langopts test when recognizing blocks.
Steve Naroff [Thu, 28 Aug 2008 10:07:06 +0000 (10:07 +0000)]
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

16 years agoFix compilation error on MSVC.
Argyrios Kyrtzidis [Thu, 28 Aug 2008 07:45:57 +0000 (07:45 +0000)]
Fix compilation error on MSVC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55465 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUbigraph visualization: represent cached nodes with a different style.
Ted Kremenek [Thu, 28 Aug 2008 05:02:09 +0000 (05:02 +0000)]
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

16 years agoEnhance ubiviz to support vertex styles.
Ted Kremenek [Thu, 28 Aug 2008 05:01:37 +0000 (05:01 +0000)]
Enhance ubiviz to support vertex styles.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55462 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Emit mostly-correct property type encoding.
Daniel Dunbar [Thu, 28 Aug 2008 04:38:10 +0000 (04:38 +0000)]
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

16 years agoAutomatically execute ubiviz.
Ted Kremenek [Thu, 28 Aug 2008 03:54:51 +0000 (03:54 +0000)]
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

16 years agoUpdate checker build.
Ted Kremenek [Thu, 28 Aug 2008 01:42:51 +0000 (01:42 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55455 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix regression: immediately terminate ccc-analyzer when gcc reports an error.
Ted Kremenek [Thu, 28 Aug 2008 01:18:44 +0000 (01:18 +0000)]
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

16 years agoUpdate Xcode project.
Ted Kremenek [Wed, 27 Aug 2008 23:13:22 +0000 (23:13 +0000)]
Update Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55449 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake the destructor of ConstraintManager virtual.
Ted Kremenek [Wed, 27 Aug 2008 23:13:01 +0000 (23:13 +0000)]
Make the destructor of ConstraintManager virtual.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55448 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate checker build.
Ted Kremenek [Wed, 27 Aug 2008 22:49:55 +0000 (22:49 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55447 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUbigraph-rendered ExplodedGraphs now have arrows and are oriented downward.
Ted Kremenek [Wed, 27 Aug 2008 22:46:55 +0000 (22:46 +0000)]
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

16 years agoAdded Ubigraph visualization for the static analyzer (this is pretty alpha quality).
Ted Kremenek [Wed, 27 Aug 2008 22:31:43 +0000 (22:31 +0000)]
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

16 years agoUpdate Xcode project.
Ted Kremenek [Wed, 27 Aug 2008 22:31:20 +0000 (22:31 +0000)]
Update Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55441 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove regression where the analyzer was not called.
Ted Kremenek [Wed, 27 Aug 2008 22:30:34 +0000 (22:30 +0000)]
Remove regression where the analyzer was not called.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55440 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFirst wave of changes to support "blocks" (an extension to C).
Steve Naroff [Wed, 27 Aug 2008 16:04:49 +0000 (16:04 +0000)]
First wave of changes to support "blocks" (an extension to C).
This commit adds the declaration syntax (and associated type).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55417 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefactor Assume logic into a separate class ConstraintManager.
Zhongxing Xu [Wed, 27 Aug 2008 14:03:33 +0000 (14:03 +0000)]
Refactor Assume logic into a separate class ConstraintManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55412 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInitial support for Obj-C dot-syntax for getters.
Daniel Dunbar [Wed, 27 Aug 2008 06:57:25 +0000 (06:57 +0000)]
Initial support for Obj-C dot-syntax for getters.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55410 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate test case (we were missing a warning here)
Daniel Dunbar [Wed, 27 Aug 2008 05:41:04 +0000 (05:41 +0000)]
Update test case (we were missing a warning here)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55408 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd synthesized property methods to protocols and categories in Sema.
Daniel Dunbar [Wed, 27 Aug 2008 05:40:03 +0000 (05:40 +0000)]
Add synthesized property methods to protocols and categories in Sema.

 - It is not clear that this is the right approach, but this is at
   least consistent with how interfaces are handled.

 - This means NeXT now emits the correct metadata for properties in
   protocols.

 - This currently introduces a spurious warning involving inherited
   properties in protocols or categories; however, it also fixes some
   situations where we were failing to emit a warning. I will scrub
   this code tomorrow and fix this issue as well as number of other
   missed warnings / error situations that appear to exist.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55407 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix "possibly uninitialized" warning.
Daniel Dunbar [Wed, 27 Aug 2008 05:13:46 +0000 (05:13 +0000)]
Fix "possibly uninitialized" warning.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55406 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Refactor protocol method metadata emission.
Daniel Dunbar [Wed, 27 Aug 2008 02:31:56 +0000 (02:31 +0000)]
NeXT: Refactor protocol method metadata emission.

Also, fix category protocol list metadata.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55405 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd addPropertyMethods implementations for
Daniel Dunbar [Wed, 27 Aug 2008 02:09:39 +0000 (02:09 +0000)]
Add addPropertyMethods implementations for
ObjC{Category,Protocol}Decl.
 - No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55404 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded "Auditor" interface for auditing the construction of ExplodedGraphs.
Ted Kremenek [Wed, 27 Aug 2008 01:56:11 +0000 (01:56 +0000)]
Added "Auditor" interface for auditing the construction of ExplodedGraphs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55403 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake implementation of ExplodedNodeImpl::addPredecessor out-of-line.
Ted Kremenek [Wed, 27 Aug 2008 01:27:52 +0000 (01:27 +0000)]
Make implementation of ExplodedNodeImpl::addPredecessor out-of-line.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55402 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Emit correct properties for category.
Daniel Dunbar [Tue, 26 Aug 2008 23:03:11 +0000 (23:03 +0000)]
NeXT: Emit correct properties for category.
 - Was emitting duplicates of class properties instead of the category
   properties.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55395 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove default value for 'Pred' argument to GRCoreEngineImpl::GenerateNode().
Ted Kremenek [Tue, 26 Aug 2008 22:34:23 +0000 (22:34 +0000)]
Remove default value for 'Pred' argument to GRCoreEngineImpl::GenerateNode().

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55392 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Emit metadata for synthetsized properties.
Daniel Dunbar [Tue, 26 Aug 2008 21:51:14 +0000 (21:51 +0000)]
NeXT: Emit metadata for synthetsized properties.

Also, fix method lookup to not use LLVM module symbol table.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55390 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomake www less outdated
Nico Weber [Tue, 26 Aug 2008 21:36:37 +0000 (21:36 +0000)]
make www less outdated

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55388 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoupdate documentation
Nico Weber [Tue, 26 Aug 2008 21:23:32 +0000 (21:23 +0000)]
update documentation

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55386 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate VS project.
Cedric Venet [Tue, 26 Aug 2008 19:46:30 +0000 (19:46 +0000)]
Update VS project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55379 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoObjective-C @synthesize support.
Daniel Dunbar [Tue, 26 Aug 2008 08:29:31 +0000 (08:29 +0000)]
Objective-C @synthesize support.
 - Only supports simple assignment and atomic semantics are ignored.
 - Not quite usable yet because the methods do not actually get added
   to the class metadata.
 - Added ObjCPropertyDecl::getSetterKind (one of Assign, Copy, Retain).
 - Rearrange CodeGenFunction so synthesis can reuse function prolog /
   epilog code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55365 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd ObjCPropertyDecl::isReadOnly.
Daniel Dunbar [Tue, 26 Aug 2008 07:16:44 +0000 (07:16 +0000)]
Add ObjCPropertyDecl::isReadOnly.

Respect isReadOnly when generating synthesized method decls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55364 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoconstify ObjC*::getClassMethod,getInstanceMethod
Daniel Dunbar [Tue, 26 Aug 2008 06:53:45 +0000 (06:53 +0000)]
constify ObjC*::getClassMethod,getInstanceMethod

No (intended) functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55362 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMissed a file; part of:
Daniel Dunbar [Tue, 26 Aug 2008 06:08:30 +0000 (06:08 +0000)]
Missed a file; part of:

Move implicit Obj-C param creation into ObjCMethodDecl.
 - Add ObjCMethodDecl::createImplicitParams.
 - Remove ObjCMethodDecl::set{Self,Cmd}Decl
 - Remove Sema::CreateImplicitParameter

No (intended) functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55357 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove implicit Obj-C param creation into ObjCMethodDecl.
Daniel Dunbar [Tue, 26 Aug 2008 06:07:48 +0000 (06:07 +0000)]
Move implicit Obj-C param creation into ObjCMethodDecl.
 - Add ObjCMethodDecl::createImplicitParams.
 - Remove ObjCMethodDecl::set{Self,Cmd}Decl
 - Remove Sema::CreateImplicitParameter

No (intended) functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55356 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRename ObjCPropertyImplDecl::PropertyImplKind (consistency)
Daniel Dunbar [Tue, 26 Aug 2008 04:47:31 +0000 (04:47 +0000)]
Rename ObjCPropertyImplDecl::PropertyImplKind (consistency)
 - Change enum name to Kind.
 - Change enum constants to English strings.

Also, fix getPropertyImplementation (which probably should be renamed)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55354 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix return type for setter method.
Daniel Dunbar [Tue, 26 Aug 2008 02:53:23 +0000 (02:53 +0000)]
Fix return type for setter method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55353 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSynthesize property setter method as we do for getter.
Daniel Dunbar [Tue, 26 Aug 2008 02:32:45 +0000 (02:32 +0000)]
Synthesize property setter method as we do for getter.
 - Also, fix Parser to construct proper SetterName selector (should be
   lifted out of parser though).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55352 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIn incompatible pointer-typed ?: expressions, add implicit conversion
Daniel Dunbar [Tue, 26 Aug 2008 00:41:39 +0000 (00:41 +0000)]
In incompatible pointer-typed ?: expressions, add implicit conversion
of RHSs to id type instead of void* if either has Objective-C object
type.
 - This ensures the result can still be used in normal places an
   object can be used, like a message send.

Add implicit conversions for ?: applied to qualified id types to
ensure that the RHSs are compatible.
 - This prevents a codegen crash (creating invalid PHI nodes).
 - Again, this relates to the fact that qualified id types have no
   canonical types.
 - Note that the implicit type casted to is incorrect, however this
   doesn't currently cause problems because of the flexibility of the
   id type.

Test cases for above.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55346 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDo typechecking and codegen for K&R-style function declarations
Eli Friedman [Mon, 25 Aug 2008 21:31:01 +0000 (21:31 +0000)]
Do typechecking and codegen for K&R-style function declarations
correctly.  Not a regression, but made more obvious by my recent fix
which made function type compatibility checking a bit more strict.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55339 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate checker build.
Ted Kremenek [Mon, 25 Aug 2008 21:27:06 +0000 (21:27 +0000)]
Update checker build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55337 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix for PR2720; be a little bit more permissive in initializers for
Eli Friedman [Mon, 25 Aug 2008 20:46:57 +0000 (20:46 +0000)]
Fix for PR2720; be a little bit more permissive in initializers for
casting pointers to integers.

Eventually, we should check whether we can evaluate an expression
using Expr::tryEvaluate, and this codepath should be tightened to only
handle standard-compliant cases.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55331 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSupport __PRETTY_FUNCTION__ and friends in Obj-C methods.
Daniel Dunbar [Mon, 25 Aug 2008 20:45:57 +0000 (20:45 +0000)]
Support __PRETTY_FUNCTION__ and friends in Obj-C methods.

Add CodeGenFunction::EmitUnsupportedLValue
 - Gives error and returns undef value.

Swap some asserts() over to using EmitUnsupportedLValue
 - Rumor has it users (and even some developers) prefer carat
   diagnostics to backtraces.
 - Works better in Release-Asserts to boot.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55328 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse path information from .info files when computing common prefix information.
Ted Kremenek [Mon, 25 Aug 2008 20:45:07 +0000 (20:45 +0000)]
Use path information from .info files when computing common prefix information.
This partially implements PR 2705: http://llvm.org/bugs/show_bug.cgi?id=2705

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55327 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse the same 'cc' for generated preprocessed crash files as we do for compilation.
Ted Kremenek [Mon, 25 Aug 2008 20:44:31 +0000 (20:44 +0000)]
Use the same 'cc' for generated preprocessed crash files as we do for compilation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55326 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoccc-analyzer now correctly reports the exit code from 'cc'.
Ted Kremenek [Mon, 25 Aug 2008 20:10:45 +0000 (20:10 +0000)]
ccc-analyzer now correctly reports the exit code from 'cc'.
scan-build now correctly reports the exit code from the build command.
Fixes: <rdar://problem/6172224>
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55324 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd test case for function-pointer-cast-of-global as constant
Daniel Dunbar [Mon, 25 Aug 2008 20:08:27 +0000 (20:08 +0000)]
Add test case for function-pointer-cast-of-global as constant
expression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55323 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate Xcode project.
Ted Kremenek [Mon, 25 Aug 2008 19:33:19 +0000 (19:33 +0000)]
Update Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55322 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded 'extents' for Regions.
Ted Kremenek [Mon, 25 Aug 2008 19:33:03 +0000 (19:33 +0000)]
Added 'extents' for Regions.
Added 'getExtent()' to StoreManager.
Implemented 'getExtent()' for BasicStoreManager.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55321 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoObjective-C foreach selector elements must be lvalues.
Anders Carlsson [Mon, 25 Aug 2008 18:16:36 +0000 (18:16 +0000)]
Objective-C foreach selector elements must be lvalues.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55316 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange another is-a-pointer check to check in terms of LLVM type.
Daniel Dunbar [Mon, 25 Aug 2008 10:38:11 +0000 (10:38 +0000)]
Change another is-a-pointer check to check in terms of LLVM type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55312 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDo is-a-pointer checks in terms of LLVM types in
Daniel Dunbar [Mon, 25 Aug 2008 09:51:32 +0000 (09:51 +0000)]
Do is-a-pointer checks in terms of LLVM types in
EmitScalarConversion().
 - Important for allowing Obj-C void * to id<X> casts and so on.
 - Not sure about this fix however, perhaps Type should understand
   that id is effectively a pointer type.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55311 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoStop asserting in TargetInfo::validateInputConstraint
Daniel Dunbar [Mon, 25 Aug 2008 09:46:27 +0000 (09:46 +0000)]
Stop asserting in TargetInfo::validateInputConstraint
 - Sema gives a perfectively nice error message on invalid constraints.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55310 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix Obj-C super sends inside class methods.
Daniel Dunbar [Mon, 25 Aug 2008 08:19:24 +0000 (08:19 +0000)]
Fix Obj-C super sends inside class methods.
 - NeXT loads the super class at runtime; this required changing the
   runtime interface to pass more information down.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55307 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoName struct types generated for Obj-C classes.
Daniel Dunbar [Mon, 25 Aug 2008 06:28:15 +0000 (06:28 +0000)]
Name struct types generated for Obj-C classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55304 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse DenseMap on IdentifierInfo instead of StringMap.
Daniel Dunbar [Mon, 25 Aug 2008 06:18:57 +0000 (06:18 +0000)]
Use DenseMap on IdentifierInfo instead of StringMap.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55303 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoNeXT: Emit symbols used to manage linking of Obj-C classes.
Daniel Dunbar [Mon, 25 Aug 2008 06:02:07 +0000 (06:02 +0000)]
NeXT: Emit symbols used to manage linking of Obj-C classes.
 - This ensures that references to undefined classes cause link
   errors.
 - NOTE: This relies on platform specific asm directives currently,
   this should be factored out.

Also, don't emit a SYMBOLS metadata entry if there are no symbols.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55302 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle emitting __builtin_huge_valf as a constant expr.
Anders Carlsson [Mon, 25 Aug 2008 03:27:15 +0000 (03:27 +0000)]
Handle emitting __builtin_huge_valf as a constant expr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55299 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake code generation of ivar ref exprs more like member exprs.
Anders Carlsson [Mon, 25 Aug 2008 01:53:23 +0000 (01:53 +0000)]
Make code generation of ivar ref exprs more like member exprs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55298 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle static variables inside obj-c methods.
Anders Carlsson [Mon, 25 Aug 2008 01:38:19 +0000 (01:38 +0000)]
Handle static variables inside obj-c methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55297 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConvert qualified interface types correctly.
Anders Carlsson [Sun, 24 Aug 2008 18:05:19 +0000 (18:05 +0000)]
Convert qualified interface types correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55287 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix silly bug in objc_gc attribute parsing and add test case
Anders Carlsson [Sun, 24 Aug 2008 16:33:25 +0000 (16:33 +0000)]
Fix silly bug in objc_gc attribute parsing and add test case

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55286 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPass SourceRanges by reference to the various Diag methods.
Argyrios Kyrtzidis [Sun, 24 Aug 2008 13:14:02 +0000 (13:14 +0000)]
Pass SourceRanges by reference to the various Diag methods.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55284 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a Parser::Diag overload that can receive a custom string along with a SourceRange.
Argyrios Kyrtzidis [Sun, 24 Aug 2008 12:51:04 +0000 (12:51 +0000)]
Add a Parser::Diag overload that can receive a custom string along with a SourceRange.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55283 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRename Preprocessor::DisableBacktrack -> Preprocessor::CommitBacktrackedTokens.
Argyrios Kyrtzidis [Sun, 24 Aug 2008 12:29:43 +0000 (12:29 +0000)]
Rename Preprocessor::DisableBacktrack -> Preprocessor::CommitBacktrackedTokens.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55281 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate VS projects.
Cedric Venet [Sun, 24 Aug 2008 11:59:26 +0000 (11:59 +0000)]
Update VS projects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55280 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoother updates
Chris Lattner [Sun, 24 Aug 2008 05:56:54 +0000 (05:56 +0000)]
other updates

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55278 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agolink to c++ status page
Chris Lattner [Sun, 24 Aug 2008 05:44:37 +0000 (05:44 +0000)]
link to c++ status page

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55277 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agocodegen is still not 'finished', but in a better state than before.
Chris Lattner [Sun, 24 Aug 2008 05:42:07 +0000 (05:42 +0000)]
codegen is still not 'finished', but in a better state than before.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55276 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMoved HTMLDiagnostics to lib/Driver.
Zhongxing Xu [Sun, 24 Aug 2008 02:33:36 +0000 (02:33 +0000)]
Moved HTMLDiagnostics to lib/Driver.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55274 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd svn:ignore for docs/{doxygen,doxygen.tar.gz}
Daniel Dunbar [Sun, 24 Aug 2008 00:24:17 +0000 (00:24 +0000)]
Add svn:ignore for docs/{doxygen,doxygen.tar.gz}

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55273 91177308-0d34-0410-b5e6-96231b3b80d8