summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* (Next runtime only) check to see if class implements forwardInvocation method Fariborz Jahanian2009-05-222-17/+48
| | | | | | | | | and objects of this class are derived from 'NSProxy'. Under such conditions, which means that every method possible is implemented in the class, we should not issue "Method definition not found" warnings. llvm-svn: 72267
* Some minor comments modifications.Argyrios Kyrtzidis2009-05-221-2/+2
| | | | | | There are no unnecessary action calls period (courtesy of the annotation scheme) and too many 'this means'.. llvm-svn: 72263
* Targets like PIC16 generate Static decls for automatic variables, emit the ↵Sanjiv Gupta2009-05-221-1/+4
| | | | | | appropriate debug descriptor as well in that case. llvm-svn: 72261
* Handle correctly a very ugly part of the C++ syntax. We cannot disambiguate ↵Argyrios Kyrtzidis2009-05-223-9/+153
| | | | | | | | | | | | | | between a parenthesized type-id and a paren expression without considering the context past the parentheses. Behold: (T())x; - type-id (T())*x; - type-id (T())/x; - expression (T()); - expression llvm-svn: 72260
* Factor the compound literal parsing out from ParseParenExpression and into a ↵Argyrios Kyrtzidis2009-05-221-7/+21
| | | | | | | | new ParseCompoundLiteralExpression. No functionality change. llvm-svn: 72259
* Modification to ParseParenExpression.Argyrios Kyrtzidis2009-05-221-16/+25
| | | | | | Now it parses the cast expression unless 'stopIfCastExpr' is true. llvm-svn: 72258
* Remove ParseSimpleParenExpression.Argyrios Kyrtzidis2009-05-221-3/+12
| | | | | | | | Embed its functionality into it's only user, ParseCXXCasts. CXXCasts now get the "actual" expression directly, they no longer always receive a ParenExpr. This is better since the parentheses are always part of the C++ casts syntax. llvm-svn: 72257
* Refactor the common code of 'ParseTypeofSpecifier' and ↵Argyrios Kyrtzidis2009-05-222-57/+94
| | | | | | | | 'ParseSizeofAlignofExpression' into a new 'ParseExprAfterTypeofSizeofAlignof' method. llvm-svn: 72256
* Parse typeof-specifier the same way as sizeof/alignof are parsed.Argyrios Kyrtzidis2009-05-222-49/+40
| | | | | | | | -Makes typeof consistent with sizeof/alignof -Fixes a bug when '>' is in a typeof expression, inside a template type param: A<typeof(x>1)> a; llvm-svn: 72255
* Pull EmitRecord() out of loop. It should be called only once.Zhongxing Xu2009-05-221-1/+1
| | | | llvm-svn: 72252
* Set correct calling convention even if there is a bitcast in the way.Torok Edwin2009-05-221-1/+1
| | | | | | This attempts to fix PR4239. llvm-svn: 72251
* (llvm up) Use llvm::Triple for storing target triples.Daniel Dunbar2009-05-225-138/+108
| | | | | | | - This commit has some messy stuff in it to extend string lifetimes, but that will go away once we switch to using the enum'd Triple interfaces. llvm-svn: 72243
* Don't rely on getArchName() to return a constant string reference.Daniel Dunbar2009-05-221-11/+14
| | | | llvm-svn: 72241
* A few more tweaks for Solaris; please correct me if it's wrong somehow.Eli Friedman2009-05-221-7/+10
| | | | llvm-svn: 72240
* Add --analyzer-no-default-checks and --analyzer-output options.Daniel Dunbar2009-05-221-13/+19
| | | | llvm-svn: 72238
* Improve target support for Solaris.Douglas Gregor2009-05-211-4/+42
| | | | llvm-svn: 72237
* Template instantiation for C99 compound literalsDouglas Gregor2009-05-213-3/+30
| | | | llvm-svn: 72236
* Template instantiation for GNU array-range designators.Douglas Gregor2009-05-212-2/+17
| | | | llvm-svn: 72234
* Template instantiation for C99 designated initializers, because weDouglas Gregor2009-05-213-35/+124
| | | | | | | | can. Also, delay semantic analysis of initialization for value-dependent as well as type-dependent expressions, since we can't always properly type-check a value-dependent expression. llvm-svn: 72233
* Template instantiation for initializer listsDouglas Gregor2009-05-211-1/+15
| | | | llvm-svn: 72229
* Fix CMake build for AST XML dumperDouglas Gregor2009-05-212-2/+2
| | | | llvm-svn: 72228
* Fixup blocks codegen for { __block i; i = rhs(); }, we want the rhsMike Stump2009-05-211-1/+3
| | | | | | | evaluated first. This can also improve codegen just a bit as we might have another register to play with for the evaluation of the rhs. llvm-svn: 72226
* Fixed a warning bug when receiver is an object viaFariborz Jahanian2009-05-211-1/+2
| | | | | | setting of NSObject attribute. llvm-svn: 72225
* AST XML dump, from Olaf Krzikalla!Douglas Gregor2009-05-214-0/+1024
| | | | llvm-svn: 72224
* Template instantiation for unary type traits, e.g., __is_podDouglas Gregor2009-05-211-1/+18
| | | | llvm-svn: 72220
* Check on null arguments in the presense of nonnull attribute.Fariborz Jahanian2009-05-212-0/+16
| | | | llvm-svn: 72219
* Template instantiation for C++ "typeid" expressions.Douglas Gregor2009-05-211-1/+33
| | | | llvm-svn: 72218
* Template instantiation for C++ throw expressionsDouglas Gregor2009-05-211-1/+13
| | | | llvm-svn: 72217
* Template instantiation for C++ delete expressionDouglas Gregor2009-05-211-1/+13
| | | | llvm-svn: 72216
* Merge the ASTVector and ASTOwningVector templates, since they offeredDouglas Gregor2009-05-2111-109/+6
| | | | | | | | redundant functionality. The result (ASTOwningVector) lives in clang/Parse/Ownership.h and is used by both the parser and semantic analysis. No intended functionality change. llvm-svn: 72214
* Avoid using the built-in type checker for assignment in C++ when classes are ↵Sebastian Redl2009-05-211-0/+9
| | | | | | involved. Patch by Vyacheslav Kononenko. llvm-svn: 72212
* Use v.data() instead of &v[0] when SmallVector v might be empty.Jay Foad2009-05-2129-67/+76
| | | | llvm-svn: 72210
* Minor refactoring. Uses an existing API to lookup a class method.Fariborz Jahanian2009-05-211-11/+3
| | | | llvm-svn: 72203
* Template instantiation for C++ "new" expressions.Douglas Gregor2009-05-213-31/+128
| | | | llvm-svn: 72199
* Fix template instantiation for compound statements so that it properlyDouglas Gregor2009-05-203-18/+31
| | | | | | | passes the "isStmtExpr" flag, to suppress warnings about unused expressions. llvm-svn: 72190
* Add special cases to retain checker for 'create' methods in QCView, ↵Ted Kremenek2009-05-201-4/+16
| | | | | | | | | | QCRenderer, and CIContext (Apple APIs). This fixes: <rdar://problem/6902710> clang: false positives w/QC and CoreImage methods. llvm-svn: 72187
* Introduce a new kind of RAII class, ASTOwningVector, which is anDouglas Gregor2009-05-203-94/+47
| | | | | | | | llvm::SmallVector that owns all of the AST nodes inside of it. This RAII class is used to ensure proper destruction of AST nodes when template instantiation fails. llvm-svn: 72186
* Template instantiation for CXXExprWithTemporaries, which occurs whenDouglas Gregor2009-05-201-1/+13
| | | | | | | | | | temporaries are generated for some object-constructing expressions in templates that are not type-dependent. Also, be sure to introduce the variable from a CXXConditionDeclExpr into the set of instantiated local variables. llvm-svn: 72185
* Template instantiation for the various kinds of AST nodes that occurDouglas Gregor2009-05-202-3/+88
| | | | | | due to C++ type construction of the form T(a1, a2, ..., aN). llvm-svn: 72183
* Introduce a new expression type, CXXUnresolvedConstructExpr, toDouglas Gregor2009-05-204-8/+100
| | | | | | | | | | | | | | | | | | describe the construction of a value of a given type using function syntax, e.g., T(a1, a2, ..., aN) when the type or any of its arguments are type-dependent. In this case, we don't know what kind of type-construction this will be: it might construct a temporary of type 'T' (which might be a class or non-class type) or might perform a conversion to type 'T'. Also, implement printing of and template instantiation for this new expression type. Due to the change in Sema::ActOnCXXTypeConstructExpr, our existing tests cover template instantiation of this new expression node. llvm-svn: 72176
* This patch provides preliminary support for non-fragile instance variables ↵Fariborz Jahanian2009-05-201-3/+74
| | | | | | | | | | | | on the GNU runtime. It currently requires a patches to GNU libobjc (and so is not enabled by default) which are currently being tested and reviewed by GNUstep before being pushed upstream. This patch does not allow support for synthesized ivars, but does provide the infrastructure needed for supporting them. Patch by David Chisnall llvm-svn: 72175
* implementation of format_arg for ObjC methods/functions.Fariborz Jahanian2009-05-204-2/+83
| | | | | | Still more to do. llvm-svn: 72173
* Treat AllocaRegion as SymbolicRegion in RegionStore::Retrieve().Zhongxing Xu2009-05-201-2/+5
| | | | llvm-svn: 72166
* * API change: we need to pass GRState to GRExprEngine::EvalBinOp() becauseZhongxing Xu2009-05-204-24/+39
| | | | | | | | RegionStore needs to know the type of alloca region. * RegionStoreManager::EvalBinOp() now converts the alloca region to its first element region, as what is done to symbolic region. llvm-svn: 72164
* Handle the remaining unhandled cases in EmitReferenceBindingToExpr.Eli Friedman2009-05-201-15/+18
| | | | | | | | It would be nice if someone could write an ObjC++ testcase for the case of passing a property returning a struct to a function taking a const reference. llvm-svn: 72159
* add header to be built by gcc 4.3 on Linux.Zhongxing Xu2009-05-201-0/+1
| | | | llvm-svn: 72158
* irgen for references to complex rvales (Very important...)Anders Carlsson2009-05-201-1/+7
| | | | llvm-svn: 72157
* Create a temporary if the lvalue is a bitfield. Reported by Eli.Anders Carlsson2009-05-201-1/+1
| | | | llvm-svn: 72155
* Add support for binding references to scalar rvalues.Anders Carlsson2009-05-201-0/+8
| | | | llvm-svn: 72153
* Bind references to lvalues correctly.Anders Carlsson2009-05-201-0/+6
| | | | llvm-svn: 72150
OpenPOWER on IntegriCloud