aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-12-05Implement CodeGen for vectors. Don't create unnecessary conversion ↵Anders Carlsson
instructions if the value to be converted is a constant. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44606 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Add sema checking for compound literal expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44605 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Implement codegen for builtin infinity functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44604 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Revert DidWarn change - It won't catch all cases anyway and GCC warns for ↵Anders Carlsson
every excess element. Maybe later we can add back the limit and make it smarter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44603 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Recognize CompoundLiteralExpr's as valid lvalue's.Steve Naroff
Also updated a FIXME in Sema::CheckInitializer()... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44602 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Implemented serialization of: ObjCEncodeExpr, ObjCSelectorExpr.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44593 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Added serialization support of SourceManager to the clang driver.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44592 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Renamed SourceManager::Read to SourceManager::CreateAndRegister.Ted Kremenek
Now sourcemanager deserializer automatically self-registers itself with the deserializer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44591 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-05Implemented initial serialization support for SourceManager.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44590 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Add the definition of objc_super...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44588 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Removed serialization of FileEntry and DirectoryEntry. This objects willTed Kremenek
now be lazily recreated upon deserialization. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44585 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Type-cast initializers for "struct objc_super" parameter to avoid warning.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44583 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Test case for my last patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44581 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Don't assert if objc.h not declared when rewriting.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44580 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Implemented serialization of SrcMgr::ContentCache.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44578 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Removed a "TODO" comment as objc1 runtime does not need to do the "TODO".Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44577 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Simplified setting up Method's scope before generating AST for its nody.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44576 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Fixed a few more comments to change "FileInfo" to "ContentCache."Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44574 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Implemented serialization of FileEntry and DirectoryEntry.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44573 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Removed searching for "darwin" keyword in target triple. We don't really supportTed Kremenek
any alternative targets at this point other than "darwin," so we now default to Darwin targets (for now). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44572 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Removed IntrusiveSPtr. There are no clients of this class anymore, so it isTed Kremenek
not needed, and it was never extensively tested. If we need an intrusive reference-counting smart pointer, we can always import intrusive_ptr from boost. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44571 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Implemented serialization of ObjCStringLiteral.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44568 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Implemented serialization for ObjcAtThrowStmt.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44567 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Implemented serialization of ObjcAtTryStmt.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44566 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Implemented serialization for ObjcAtFinallyStmt.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44564 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-04Implemented serialization for ObjcAtCatchStmt.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44563 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Fixed order of operands to strstr call.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44561 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03For target processing, on non-Darwin systems instead of using the host triple,Ted Kremenek
we default to "i386-apple-darwin". This is an interim solution. Removed processing of "linux" triples from Targets.cpp, since we don't have any sensical Linux target support (yet). Cleaned up error processing of targets; added better diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44560 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Change <Objc/objc.h> to <objc/objc.h>Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44556 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Implemented serialization of TargetInfo.Ted Kremenek
SerializationTest (subclass of ASTConsumer) now takes Diagnostics& in its ctor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44555 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Added some notes on the -triple and -arch options.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44554 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Fixed a bug exposed by referencing an ivar field using component reference ↵Fariborz Jahanian
syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44553 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Few cleanups to patch 44551:Ted Kremenek
http://llvm.org/viewvc/llvm-project?view=rev&revision=44551 Removed debugging fprintfs for printing targets. Implemented error messages when processing invalid targets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44552 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Implemented initial support for "-triple" option to the clang driver. ThisTed Kremenek
replaces the functionality previously provided by just "-arch" (which is still supported but has different semantics). The new behavior is as follows: (1) If the user does not specify -triple: (a) If no -arch options are specified, the target triple used is the host triple (in llvm/Config/config.h). (b) If one or more -arch's are specified (and no -triple), then there is one triple for each -arch, where the specified arch is substituted for the arch in the host triple. Example: host triple = i686-apple-darwin9 command: clang -arch ppc -arch ppc64 ... triples used: ppc-apple-darwin9 ppc64-apple-darwin9 (2) The user does specify a -triple (only one allowed): (a) If no -arch options are specified, the triple specified by -triple is used. E.g clang -triple i686-apple-darwin9 (b) If one or more -arch options are specified, then the triple specified by -triple is used as the primary target, and the arch's specified by -arch are used to create secondary targets. For example: clang -triple i686-apple-darwin9 -arch ppc -arch ppc64 has the following targets: i686-apple-darwin9 (primary target) ppc-apple-darwin9 ppc64-apple-darwin9 Other changes related to the changes to the driver: - TargetInfoImpl now includes the triple string. - TargetInfo::getTargetTriple returns the triple for its primary target. - test case test/Parser/portability.c has been updated because "-arch linux" is no longer valid ("linux" is an OS, not an arch); instead we use a bogus architecture "bogusW16W16" where WCharWidth=16 and WCharAlign=16. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44551 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Fix an ast-print/ast-dump bug.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44550 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Support for rewriteing of messaging of methods which return float.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44548 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Added support for messagings which return a structure-value.Fariborz Jahanian
(Also fixed a regression caused by recent changes to synthesis of structs). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44540 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Added getTrueExpr() and getFalseExpr() to ConditionalOperator. These methodsTed Kremenek
provide handy accessors to the subexpressions of ConditionalOperator that automatically take into account the GCC extension where the "LHS" expression is omitted: e.g x ?: y;. When the LHS expression is available, getTrueExpr() is the same as getLHS(); when LHS is NULL, getTrueExpr() returns the condition expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44536 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Fix for testcase that assigns a dereferenced reference to a pointer. TheBill Wendling
standard says that we should adjust the "reference to T" type to "T" before analysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44530 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Ignore typedefs in pointer arithmetic codegen.Seo Sanghyeon
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44529 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-03Handle initializing vector elements correctly. Emit just one warning if ↵Anders Carlsson
there are excess initializers, instead of one per initializer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44525 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02add a fixmeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44523 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02Implement __builtin_bswap32 and __builtin_bswap64.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44521 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02fix logic for member expr codegen.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44520 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02Fix isStructureType and isUnionType to ignore typedefs, as statedSeo Sanghyeon
in the header. Patch by Cédric Venet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44519 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02Treat discarding array initializer elements as an extwarn (so ↵Christopher Lamb
-pedantic-errors flags it). Allow CodeGen to truncate the initializer if needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44518 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02restore these lines, which fixes some regtest failures.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44516 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02all filevar's have static storage. Previously a global withChris Lattner
extern storage class was returning false from hasStaticStorage. Ted, please review this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44515 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02Commit test for CL 44440.Christopher Lamb
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44514 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-02Fix buggy testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44513 91177308-0d34-0410-b5e6-96231b3b80d8