summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the CXXConstructExpr public and add a StmtClass to it. No functionality ↵Anders Carlsson2009-04-241-3/+4
| | | | | | change. llvm-svn: 69954
* Don't run dsymutil when making a fat executable direct source.Daniel Dunbar2009-04-241-1/+7
| | | | | | | | | | | | | | - Otherwise, we will end up with stray .dSYM files which don't get lipo'ed or removed. - Ideally we would run dsymutil on the result, but we don't have the infrastructure for that yet. Note that gcc doesn't handle this case either. - <rdar://problem/6809621> [driver] clang leaves .dSYM files lying around in tmp. llvm-svn: 69951
* Eliminate Sema::ObjCAliasDecls. This is based on Steve's fix, but alsoDouglas Gregor2009-04-244-25/+29
| | | | | | | updates name lookup so that we see through @compatibility_alias declarations to their underlying interfaces. llvm-svn: 69950
* Clang part of r69947. Reverting back 69574 as it is no longer needed.Sanjiv Gupta2009-04-242-15/+6
| | | | llvm-svn: 69949
* Fix Objective-C crashesDouglas Gregor2009-04-241-3/+0
| | | | llvm-svn: 69945
* Fix rdar://6821047 - clang crashes on subscript of interface in 64-bit modeChris Lattner2009-04-243-23/+30
| | | | | | | | | | | | | | Several changes here: 1. We change Type::isIncompleteType to realize that forward declared interfaces are incomplete. This eliminate special case code for this from the sizeof path, and starts us rejecting P[4] when P is a pointer to an incomplete interface. 2. Explicitly reject P[4] when P points to an interface in non-fragile ABI mode. 3. Switch the sizeof(interface) diagnostic back to an error instead of a warning in non-fragile abi mode. llvm-svn: 69943
* Eliminate Sema::ObjCInterfaceDeclsDouglas Gregor2009-04-243-20/+2
| | | | llvm-svn: 69942
* Eliminate Sema::ObjCImplementations, relying instead on name lookup. What's ↵Douglas Gregor2009-04-248-33/+68
| | | | | | | | | | | good for uniformity is good for PCH (or is it the other way around?). As part of this, make ObjCImplDecl inherit from NamedDecl (since ObjCImplementationDecls now need to have names so that they can be found). This brings ObjCImplDecl very, very close to ObjCContainerDecl; we may be able to merge them soon. llvm-svn: 69941
* Eliminate Sema::ObjCProtocols. Instead, we place ObjCProtocolDecls inDouglas Gregor2009-04-235-21/+32
| | | | | | | | | | | | their own namespace (IDNS_Protocol) and use the normal name-lookup routines to find them. Aside from the simplification this provides (one less DenseMap!), it means that protocols will be lazily deserialized from PCH files. Make the code size of the selector table block match the code size of the type and decl blocks. llvm-svn: 69939
* Call ld, not collect2.Daniel Dunbar2009-04-231-1/+1
| | | | | | - <rdar://problem/6517382> [driver] call ld directly llvm-svn: 69938
* Refactor common logic in getMethodSummary() and getClassMethodSummary(). NoTed Kremenek2009-04-231-30/+24
| | | | | | functionality change. llvm-svn: 69936
* PCH support for categories in Objective-C interfaces.Douglas Gregor2009-04-232-3/+3
| | | | llvm-svn: 69933
* PCH support for all of the predefined Objective-C types, such as id,Douglas Gregor2009-04-236-46/+105
| | | | | | | | SEL, Class, Protocol, CFConstantString, and __objcFastEnumerationState. With this, we can now run the Objective-C methods and properties PCH tests. llvm-svn: 69932
* Further cleanups to isTrackedObjectType().Ted Kremenek2009-04-231-6/+10
| | | | llvm-svn: 69929
* Diagnose if an implementation implements a forward classFariborz Jahanian2009-04-231-1/+3
| | | | | | declaration (and avoid issuing bogus error later on). llvm-svn: 69928
* retain/release checker: Don't call isTrackedObject() with the canonical type.Ted Kremenek2009-04-231-9/+7
| | | | | | This was preventing the checker from tracking return objects referenced by 'id'. llvm-svn: 69922
* retain/release checker: For class methods, only treat return values that areTed Kremenek2009-04-231-5/+13
| | | | | | object references as tracked objects. llvm-svn: 69915
* Per discussions with Ken Ferry and Paul Marks (<rdar://problem/6815234>) greatlyTed Kremenek2009-04-231-12/+24
| | | | | | | | extend the number of objects tracked by the retain/release checker by assuming that all class and instance methods should follow Cocoa object "getter" and "alloc/new" conventions. llvm-svn: 69908
* Fix handling of C99 "extern inline" semantics when dealing withDouglas Gregor2009-04-235-8/+66
| | | | | | | multiple declarations of the function. Should fix PR3989 and <rdar://problem/6818429>. llvm-svn: 69905
* Handle corner case where clang-cc is invoked directly to compile ↵Devang Patel2009-04-232-8/+15
| | | | | | | | preprocessed source file without -main-file-name. In this case, CDDebugInfo is not able identify correct main source file becase SM.isFromMainFile() returns true for locations from header files as well as locations from main source file. This patch takes conservative approach by not emitting more then one compile unit with isMain bit set. llvm-svn: 69902
* Fix PR 4033: the analyzer shouldn't crash on computed gotos involving symbolicTed Kremenek2009-04-231-2/+1
| | | | | | target addresses. llvm-svn: 69900
* Remove @compatibility_alias regression.Steve Naroff2009-04-231-1/+2
| | | | llvm-svn: 69899
* BugReporter (extensive diagnostics): Recursively adjust the referred expressionTed Kremenek2009-04-231-12/+16
| | | | | | when popping location contexts. llvm-svn: 69898
* Removed bunch of FIXMEs no longer needed.Fariborz Jahanian2009-04-231-8/+0
| | | | llvm-svn: 69896
* BugReporter (extensive diagnostics): Ignore parentheses when added control-flowTed Kremenek2009-04-231-0/+16
| | | | | | pieces for location contexts. llvm-svn: 69895
* More PushOnScopeChain() FIXME's.Steve Naroff2009-04-232-5/+2
| | | | llvm-svn: 69894
* Sema::ActOnStartClassInterface(): Use PushOnScopeChains().Steve Naroff2009-04-232-3/+2
| | | | | | This enables class recognition to work with PCH. I believe this means we can remove Sema::ObjCInterfaceDecls and it's usage within Sema::LookupName(). Will investigate. llvm-svn: 69891
* Add PCH read/write support for Objective-C Selectors.Steve Naroff2009-04-232-9/+141
| | | | | Note: This support is non-lazy. Once we get "Cocoa.h" humming, we can optimize this. llvm-svn: 69884
* Mark IMAGE_INFO as constant on x86_64-darwin.Daniel Dunbar2009-04-231-0/+1
| | | | | | | - This shouldn't change anything, we never actually access it, but this is consistent with llvm-gcc (and 32-bit) llvm-svn: 69880
* fix a problem producing debug info with global blocks.Chris Lattner2009-04-231-1/+2
| | | | llvm-svn: 69875
* implement debug info for _Complex.Chris Lattner2009-04-232-1/+18
| | | | llvm-svn: 69873
* the logic for computing __func__ and friends is really broken:Chris Lattner2009-04-234-6/+11
| | | | | | | | | the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's. llvm-svn: 69872
* some arm triples have weird characters in them, just fuzzy matchChris Lattner2009-04-231-7/+11
| | | | | | on armv* to be more compatible llvm-svn: 69864
* PCH (de-)serialization of the protocols in an ObjCInterfaceDeclDouglas Gregor2009-04-232-2/+12
| | | | llvm-svn: 69860
* Add the PCH reader stub for ObjCCompatibleAliasDeclDouglas Gregor2009-04-231-1/+1
| | | | llvm-svn: 69859
* PCH support for ObjCPropertyImplDeclDouglas Gregor2009-04-232-3/+11
| | | | llvm-svn: 69858
* The ivars in an ObjCImplementationDecl are now stored in theDouglas Gregor2009-04-234-10/+10
| | | | | | | DeclContext rather than in a separate list. This makes PCH (de-)serialization trivial, so that ivars can be loaded lazily. llvm-svn: 69857
* PCH support for ObjCCategoryImplDecl (which can't be tested now).Douglas Gregor2009-04-232-3/+3
| | | | llvm-svn: 69856
* PCH (de-)serialization for ObjCImplDecl. This can't be tested yet.Douglas Gregor2009-04-233-2/+6
| | | | llvm-svn: 69855
* Add a CXXConstructExpr that represents an implicit call to a C++ ↵Anders Carlsson2009-04-232-0/+44
| | | | | | constructor. I think CXXTemporaryObjectExpr is going to become a subclass of CXXConstructExpr, since CXXTemporaryObjectExpr represents a syntactic temporary, for example T() llvm-svn: 69854
* Use std::sort instead of qsort.Daniel Dunbar2009-04-231-15/+7
| | | | | | | | | - Notably, there was a memory error here, SkipIvars does not have to be the same size as IvarsInfo. - Fariborz, please check. llvm-svn: 69850
* Eliminate the three SmallVectors in ObjCImplDecl (for instanceDouglas Gregor2009-04-2311-100/+158
| | | | | | | | | | | methods, class methods, and property implementations) and instead place all of these entities into the DeclContext. This eliminates more linear walks when looking for class or instance methods and should make PCH (de-)serialization of ObjCDecls trivial (and lazy). llvm-svn: 69849
* PCH support for Objective-C property declarations (UNTESTED!)Douglas Gregor2009-04-222-4/+33
| | | | llvm-svn: 69843
* ivar layout bitmap is alive!Fariborz Jahanian2009-04-221-10/+20
| | | | llvm-svn: 69838
* Add PCH statistics for the number/percent of lexical/visible declcontexts readDouglas Gregor2009-04-222-1/+18
| | | | llvm-svn: 69835
* Add PathDiagnosticRange to PathDiagnostics. These simply wrap SourceRange andTed Kremenek2009-04-222-4/+5
| | | | | | | indicate whether or not the range represents an absolute range or should be extended by lexing to the end of the token. llvm-svn: 69834
* Support locally-declared external declarations in PCH filesDouglas Gregor2009-04-222-0/+31
| | | | llvm-svn: 69833
* Support tentative definitions in precompiled headers. This isn't likelyDouglas Gregor2009-04-222-0/+28
| | | | | | to happen (ever), but at least we'll do the right thing when it does. llvm-svn: 69829
* Remove the serialization code that predates precompiledDouglas Gregor2009-04-2213-3384/+2
| | | | | | | headers. Future approaches to (de-)serializing ASTs will be based on the PCH infrastructure. llvm-svn: 69828
* Eliminate some FIXMEs in the PCH reader that were either already fixed or ↵Douglas Gregor2009-04-221-15/+9
| | | | | | aren't actually things to fix llvm-svn: 69827
OpenPOWER on IntegriCloud