summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Unlike NSWindow objects, NSPanel objects initially do not have self-ownership.Ted Kremenek2008-07-011-8/+23
| | | | llvm-svn: 52963
* Update some comments.Argyrios Kyrtzidis2008-07-011-2/+2
| | | | llvm-svn: 52957
* Add Sema support for C++ classes.Argyrios Kyrtzidis2008-07-019-37/+409
| | | | llvm-svn: 52956
* Temporarily treat "Autorelease" as "StopTracking". This is the original ↵Ted Kremenek2008-07-011-1/+1
| | | | | | behavior. llvm-svn: 52940
* Make a few related changes:Chris Lattner2008-06-307-102/+123
| | | | | | | | | | | | | | 1) add a new ASTContext::getFloatTypeSemantics method. 2) Use it from SemaExpr.cpp, CodeGenTypes.cpp and other places. 3) Change the TargetInfo.h get*Format methods to return their fltSemantics byref instead of by pointer. 4) Change CodeGenFunction::EmitBuiltinExpr to allow builtins which sometimes expand specially and othertimes fall back to libm. 5) Add support for __builtin_nan("") to codegen, cases that don't pass in an empty string are currently lowered to libm calls. 6) Fix codegen of __builtin_infl. llvm-svn: 52914
* Added "Autorelease" ArgEffect to better simulate "autorelease" messages. RightTed Kremenek2008-06-301-4/+4
| | | | | | | now this does the same thing as "MayEscape", but more functionality will go in here shortly. llvm-svn: 52904
* Fix a bug reported by Kelly Wilson, where we incorrectlyChris Lattner2008-06-301-4/+15
| | | | | | rejected FP immediates like 08.123 llvm-svn: 52890
* refactor some code out into a new method.Chris Lattner2008-06-301-83/+104
| | | | llvm-svn: 52889
* make type attribute processing static instead of methods on Sema.Chris Lattner2008-06-292-48/+43
| | | | llvm-svn: 52881
* make the rest of the decl attribute processing methods beChris Lattner2008-06-292-179/+160
| | | | | | static functions instead of methods on sema. llvm-svn: 52880
* make most of Sema public. Sema is a class private to the Sema library Chris Lattner2008-06-292-39/+37
| | | | | | | anyway, so there is no real loss here. Start making attribute processing methods static functions instead of methods on Sema. llvm-svn: 52879
* move a few methods, no other change.Chris Lattner2008-06-291-74/+75
| | | | llvm-svn: 52878
* handle type attributes when converting types, not when processing decls.Chris Lattner2008-06-292-16/+6
| | | | llvm-svn: 52877
* Make ProcessDeclAttributes walk the declarator structure pulling Chris Lattner2008-06-292-21/+45
| | | | | | | | | | | | | decl attributes out of the various places they can hide. This makes us correctly reject things like this: t.c:2:22: error: mode attribute only supported for integer and floating-point types int **__attribute((mode(HI)))* i32; ^ because you can't make a pointer be HImode. llvm-svn: 52876
* move some code from all callers of ProcessDeclAttributes into Chris Lattner2008-06-293-18/+11
| | | | | | the implementation of ProcessDeclAttributes. llvm-svn: 52875
* more attribute refactoring/renaming, no functionality change.Chris Lattner2008-06-283-48/+53
| | | | llvm-svn: 52874
* more minor tidiness.Chris Lattner2008-06-281-17/+12
| | | | llvm-svn: 52873
* more cleanups, refactor HandleVectorTypeAttributeChris Lattner2008-06-282-42/+44
| | | | | | | | to work list the rest of the attr handlers. Also, rename it to HandleVectorSizeAttribute to match its attr name. No functionality change. llvm-svn: 52872
* adjust the prototypes of a bunch of decl processing methods to take Chris Lattner2008-06-283-157/+158
| | | | | | | | | | | the single attribute they look at by reference instead of by pointer. This is a subtle indicator that they take the specified attribute, not a whole list of them. This also make HandleExtVectorTypeAttribute work the same way as the rest of the attributes, adds some comments etc. No functionality change. llvm-svn: 52871
* Handle unnamed bitfields when parsing C++ classes.Argyrios Kyrtzidis2008-06-281-26/+30
| | | | llvm-svn: 52855
* Fix for PR2501; this patch makes usual arithmetic conversions for Eli Friedman2008-06-283-5/+70
| | | | | | | | integers which have the same width and different signedness work correctly. (The testcase in PR2501 uses a comparison between long and unsigned int). llvm-svn: 52853
* Replace CurFunctionDecl and CurMethodDecl with methods getCurFunctionDecl() ↵Argyrios Kyrtzidis2008-06-288-52/+50
| | | | | | and getCurMethodDecl() that return the appropriate Decl through CurContext. llvm-svn: 52852
* Fix a bug where we didn't promote 'const float' (or typedefs) toChris Lattner2008-06-271-4/+6
| | | | | | double in some places. llvm-svn: 52846
* the 'mode' attribute is a decl attribute, not a type attribute. Move it toChris Lattner2008-06-273-137/+130
| | | | | | SemaDeclAttr, and do some cleanups. llvm-svn: 52844
* Add missing include file (due to a file splitting in llvm).Cedric Venet2008-06-271-0/+1
| | | | | | | Add new file to Sema Project for VS. this unbreak the build for VS2005 (with the associated patch on llvm). llvm-svn: 52830
* Added a simple static analysis check to look for improper uses of ↵Ted Kremenek2008-06-263-3/+268
| | | | | | CFCreateNumber. llvm-svn: 52799
* move decl attribute processing to a new SemaDeclAttr.cpp.Chris Lattner2008-06-262-672/+658
| | | | llvm-svn: 52792
* clang uses the llvm backend, so define __llvm__ like llvm-gcc. Chris Lattner2008-06-261-0/+3
| | | | | | | Additionally, define __clang__ so clients can predicate based on clang features. llvm-svn: 52788
* Make Declarator::getDeclSpec() return a const reference to avoidChris Lattner2008-06-264-56/+59
| | | | | | cases where mutation can introduce bugs. Propagate around 'const'. llvm-svn: 52772
* add a comment about something that was surprising, at least to me.Chris Lattner2008-06-261-0/+3
| | | | llvm-svn: 52771
* fix a bug handling type attributes in the declspec. declspec processingChris Lattner2008-06-263-46/+32
| | | | | | | | | | used to mutate the attribute list for declspecs when the type was converted, breaking the case where one declspec was shared by multiple declarators. This fixes rdar://6032532. llvm-svn: 52769
* refactor more objc codegen interfaces to pass around selectors soChris Lattner2008-06-263-52/+40
| | | | | | we don't push strings into LLVM IR and then have to read them back out. llvm-svn: 52765
* indenting and other minor things.Chris Lattner2008-06-262-6/+6
| | | | llvm-svn: 52764
* refactor interface to GenerateClassStructure to avoid converting a Chris Lattner2008-06-261-7/+6
| | | | | | string to LLVM IR and then regenerating the string from IR. llvm-svn: 52762
* remove the old getSelector implementation, which removes someChris Lattner2008-06-262-64/+2
| | | | | | calls to getStringValue llvm-svn: 52761
* avoid a lot of unneeded selector processing work by passing aroundChris Lattner2008-06-264-20/+10
| | | | | | selectors instead of Value*'s. llvm-svn: 52760
* use cheaper/simpler getselector call for @selector exprs.Chris Lattner2008-06-263-5/+5
| | | | llvm-svn: 52759
* start avoid doing lots of unneeded work handling selectorsChris Lattner2008-06-263-25/+43
| | | | llvm-svn: 52758
* improve indentation, avoid thrashing on maps and recalculating strings as much.Chris Lattner2008-06-262-33/+24
| | | | llvm-svn: 52757
* give CreateObjCRuntime a full CGM so it can get whatever state it needs, Chris Lattner2008-06-264-30/+16
| | | | | | | instead of passing in just a couple random things it currently happens to use. llvm-svn: 52756
* Fix 80 col violations, assert on assumptions.Chris Lattner2008-06-262-22/+23
| | | | llvm-svn: 52755
* a temporary minimal hack to get clang building after the getStringValue ↵Chris Lattner2008-06-261-7/+17
| | | | | | changes in llvm mainline. llvm-svn: 52753
* CF ref checker:Ted Kremenek2008-06-251-245/+406
| | | | | | | | | | | | | | Tracked objects now have their type information tracked with them. Enhanced summaries for ObjC methods to include the type information of the receiver. Used the enhanced summaries to support the idiom that NSWindow owns itself (it sends a release message to itself upon close). Added some comments. Did some cleanups with the checker logic using operator overloading (reduced redundant code which I was concerned about being the source of bugs). llvm-svn: 52741
* The assert at Sema::ObjCActOnStartOfMethodDef should check CurMethodDecl ↵Argyrios Kyrtzidis2008-06-251-1/+1
| | | | | | instead of CurFunctionDecl. llvm-svn: 52719
* Updated atomic intrinsic name from llvm r52706. Fixed dropped bit in shufps.Mon P Wang2008-06-251-4/+4
| | | | llvm-svn: 52707
* 'Educate' IdentifierResolver about the declaration context of CXXFieldDecls.Argyrios Kyrtzidis2008-06-241-0/+4
| | | | llvm-svn: 52698
* The only caller of this knows that the current token is l_brace, so this can ↵Argyrios Kyrtzidis2008-06-241-12/+1
| | | | | | be an assert; suggestion by Chris. llvm-svn: 52696
* Add parsing support for C++ classes.Argyrios Kyrtzidis2008-06-246-1/+448
| | | | | | | Note that Parser::ParseCXXMemberSpecification is temporarily disabled until the Sema support is in place. Once ParseCXXMemberSpecification is enabled, the Parser/cxx-class.cpp test will pass. llvm-svn: 52694
* "Support for Objective-C message sends which return structures. Also ↵Chris Lattner2008-06-244-4/+102
| | | | | | | | includes a small fix for constant string handling that should have been in the last patch (sorry!) and a hook for generating selectors (rest of this implementation to follow in the next patch)." Patch by David Chisnall! llvm-svn: 52681
* "This is a small fix for a bug where static object instances were being ↵Chris Lattner2008-06-241-4/+6
| | | | | | | | incorrectly generated. The bug was caused by my inability to read the GNU libobjc source and is only apparent when JITing code (static compilation does not expose the bug due to the data layout of other globals)." Patch by David Chisnall! llvm-svn: 52680
OpenPOWER on IntegriCloud