summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Split out a header to hold APIs meant for the Sema implementation from Sema.h.John McCall2010-08-251-1/+1
| | | | | | | Clients of Sema don't need to know (for example) the list of diagnostics we support. llvm-svn: 112093
* GCC didn't care for my attempt at API compatibility, so brute-force everythingJohn McCall2010-08-251-243/+243
| | | | | | to the new constants. llvm-svn: 112047
* Recursive functions should be marked when used from another function. Fixes ↵Argyrios Kyrtzidis2010-08-251-1/+4
| | | | | | http://llvm.org/PR7923. llvm-svn: 112045
* More incremental progress towards not including Expr.h in Sema.h.John McCall2010-08-251-5/+5
| | | | llvm-svn: 112044
* Rename *PendingImplicitInstantiations to *PendingInstantiations. NoChandler Carruth2010-08-251-3/+2
| | | | | | functionality changed. llvm-svn: 112040
* Split FunctionScopeInfo and BlockScopeInfo into their own header.John McCall2010-08-251-2/+4
| | | | llvm-svn: 112038
* Remove AnalysisBasedWarnings.h's dependency on Type.hJohn McCall2010-08-251-3/+4
| | | | llvm-svn: 112027
* When trying to resolve the address of an overloaded expression,John McCall2010-08-241-10/+14
| | | | | | | | only form pointers-to-member if the expression has the appropriate form. This avoids assertions later on on invalid code, but also allows us to properly resolve mixed-staticity overloads. llvm-svn: 111987
* It is not error in c++ to take address ofFariborz Jahanian2010-08-241-1/+4
| | | | | | register variable (c++03 7.1.1P3). radar 8108252. llvm-svn: 111977
* Struggle mightily against header inclusion in Sema.h.John McCall2010-08-241-0/+1
| | | | llvm-svn: 111904
* OwningExprResult -> ExprResult. This patch brought to you byJohn McCall2010-08-241-73/+73
| | | | | | | M-x query-replace-regexp \(Sema::\|Action::\|Parser::\|\)Owning\(Expr\|Stmt\)Result -> \2Result llvm-svn: 111903
* Abstract out passing around types and kill off ActionBase.John McCall2010-08-241-7/+7
| | | | llvm-svn: 111901
* PR7971: Compute the correct type for an address-of expression containing anEli Friedman2010-08-241-1/+1
| | | | | | UnresolvedMemberExpr. llvm-svn: 111899
* Kill off ExprArg (now just Expr*) and StmtArg (now just Stmt*).John McCall2010-08-231-135/+96
| | | | llvm-svn: 111863
* Relax the construction of a definition for implicit, trivial defaultChandler Carruth2010-08-231-2/+4
| | | | | | | | | | | | | | | constructors. We perform semantic checking when creating the definition, and this isn't needed in certain contexts (value initialization) but is in others (default initialization). This fixes PR7948. We add explicit code to the default initialization path to ensure the definition is both present and valid. Doug, please review. I think this follows your latest suggestion, and it ended up remarkably cleaner than I anticipated. Also let me know if similar logic should be followed for destructors and copy-constructors. llvm-svn: 111802
* Push DeclGroupRefs and TemplateNames in an opaque but type-safe wayJohn McCall2010-08-231-2/+1
| | | | | | through the parser. llvm-svn: 111800
* Sundry incremental steps towards killing off Action.John McCall2010-08-231-4/+4
| | | | llvm-svn: 111795
* Detabify.Eli Friedman2010-08-221-3/+3
| | | | llvm-svn: 111768
* DeclPtrTy -> Decl *John McCall2010-08-211-6/+5
| | | | llvm-svn: 111733
* Add a workaround for PR7947, a crash trying to recover from invalid C++ code.Nick Lewycky2010-08-201-16/+21
| | | | llvm-svn: 111675
* Another step in the process of making the parser depend on Sema:John McCall2010-08-201-4/+4
| | | | | | | | | - move DeclSpec &c into the Sema library - move ParseAST into the Parse library Reflect this change in a thousand different includes. Reflect this change in the link orders. llvm-svn: 111667
* Diagnose assiging to an interface object inFariborz Jahanian2010-08-161-0/+5
| | | | | | | non-fragile abi mode as sizes are not statically known. Fixes radar 8315734. llvm-svn: 111191
* When issuing warning for future conflict resolution,Fariborz Jahanian2010-08-131-0/+3
| | | | | | | | (nonfragile-abi2), do not consider 'ivar' access in class methods. Also, improve on diagnostics. Radar 8304561. llvm-svn: 111023
* Zap unused UnaryOperator::OffsetOf.Eli Friedman2010-08-131-4/+0
| | | | llvm-svn: 110996
* Implement -Wcast-align. The initial design of this diagnostic diverges John McCall2010-08-121-0/+4
| | | | | | | | from GCC's in that we warn on *any* increase in alignment requirements, not just those that are enforced by hardware. Please let us know if this causes major problems for you (which it shouldn't, since it's an optional warning). llvm-svn: 110959
* Move Sema's headers into include/clang/Sema, renaming a few along the way.Douglas Gregor2010-08-121-4/+4
| | | | llvm-svn: 110945
* Added locations and type source info for DeclarationName.Abramo Bagnara2010-08-111-59/+69
| | | | llvm-svn: 110860
* Random temporary string cleanup.Benjamin Kramer2010-08-111-1/+1
| | | | llvm-svn: 110807
* Added TypeLocs to VAArgExpr node.Abramo Bagnara2010-08-101-4/+10
| | | | llvm-svn: 110666
* Added TypeLocs to TypesCompatibleExpr node.Abramo Bagnara2010-08-101-4/+14
| | | | llvm-svn: 110663
* When attempting to recover from a failed unqualified name lookup, makeDouglas Gregor2010-08-091-0/+2
| | | | | | sure to clear out the LookupResult structure after looking into each class. llvm-svn: 110615
* Integral-to-pointer conversions are not always null -> member pointerDouglas Gregor2010-08-071-2/+8
| | | | | | conversions. Fixes PR7443. llvm-svn: 110519
* Store inheritance paths after CastExprs instead of inside them.John McCall2010-08-071-11/+11
| | | | | | | | | | | | | | | This takes some trickery since CastExpr has subclasses (and indeed, is abstract). Also, smoosh the CastKind into the bitfield from Expr. Drops two words of storage from Expr in the common case of expressions which don't need inheritance paths. Avoids a separate allocation and another word of overhead in cases needing inheritance paths. Also has the advantage of not leaking memory, since destructors for AST nodes are never run. llvm-svn: 110507
* PR7837: For qualified id's, make sure the decl context is complete if notEli Friedman2010-08-061-20/+18
| | | | | | | dependent in ActOnIdExpression. (This issue only shows up with member operators because an operator is never a type.) llvm-svn: 110486
* Introduce implicit conversions between AltiVec vectors and GCCDouglas Gregor2010-08-061-6/+18
| | | | | | vectors, from Anton Yartsev! llvm-svn: 110437
* Flip the switch to use OffsetOfExpr unconditionally; feel free to revert ifEli Friedman2010-08-051-129/+5
| | | | | | | | this breaks something. I'll wait a few days before cleaning out UnaryOperator::OffsetOf. llvm-svn: 110328
* PR7769: Fix references to anonymous structs/unions in base classes inEli Friedman2010-08-051-7/+12
| | | | | | offsetof expressions. llvm-svn: 110327
* Remove the warning for variables declared in the if-expression being used inNick Lewycky2010-08-051-21/+1
| | | | | | | | the else clause. The problem is that it's overly zealous and will respond to uses in assignments, or after assignments. We should bring this back once we can do it right. Fixes PR7100. llvm-svn: 110314
* Tighten the rules when deciding if an ivar must beFariborz Jahanian2010-07-301-3/+15
| | | | | | | auto-synthesized (nonfragile-abi2 specific). Fixes radar 8251648. llvm-svn: 109866
* Tigthen the condition for issung ivar shadowingFariborz Jahanian2010-07-291-1/+2
| | | | | | | variables to those in file scope (nonfragile-abi2). Fixes radar 8248681. llvm-svn: 109758
* When taking the address of a value of Objective-C object type (e.g.,Douglas Gregor2010-07-291-0/+2
| | | | | | | one because we're referencing a variable of type NSString &), the resulting type is an ObjCObjectPointerType. llvm-svn: 109753
* Don't die when a member access refers to a non-class member via aDouglas Gregor2010-07-281-0/+3
| | | | | | qualified name. Fixes <rdar://problem/8231724>. llvm-svn: 109682
* Fix a minor crash bug with constructs like Obj.Class::ENUM_VALUE.Eli Friedman2010-07-271-4/+4
| | | | llvm-svn: 109537
* PR7724: Don't try to evaluate value-dependent expressions.Eli Friedman2010-07-271-1/+1
| | | | llvm-svn: 109532
* Remove the vast majority of the Destroy methods from the AST library,Douglas Gregor2010-07-251-13/+3
| | | | | | since we aren't going to be calling them ever. llvm-svn: 109377
* turn down the logical bitwise confusion warning to not warn Chris Lattner2010-07-241-11/+14
| | | | | | | | | when the RHS of the ||/&& is ever 0 or 1. This handles a variety of creative idioms for "true" used in C programs and fixes many false positives at the expense of a few false negatives. This fixes rdar://8230351. llvm-svn: 109314
* Allow __func__ and __FUNCTION__ and __PRETTY_FUNCTION__ inside blocks.Fariborz Jahanian2010-07-231-0/+2
| | | | | | Radar 8218839. llvm-svn: 109272
* Vectors are not integer types, so the type system should not classifyDouglas Gregor2010-07-231-10/+16
| | | | | | | | | | | them as such. Type::is(Signed|Unsigned|)IntegerType() now return false for vector types, and new functions has(Signed|Unsigned|)IntegerRepresentation() cover integer types and vector-of-integer types. This fixes a bunch of latent bugs. Patch from Anton Yartsev! llvm-svn: 109229
* Warn when property ivar lookup finds a global variableFariborz Jahanian2010-07-221-2/+31
| | | | | | | of same name. In nonfragile-abi2, lookup accesses a synthesized ivar. This is a transition warning. Radar 8225011. llvm-svn: 109197
* Upgrade "'X' is unavailable" from a warning to an error. This matches GCC's ↵Ted Kremenek2010-07-211-1/+1
| | | | | | | | | | | | behavior. Note that GCC emits a warning instead of an error when using an unavailable Objective-C protocol, so now Clang's behavior is more strict in this case, but more consistent. We will need to see how much this fires on real code and determine whether this case should be downgraded to a warning. Fixes <rdar://problem/8213093>. llvm-svn: 109033
OpenPOWER on IntegriCloud