summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaStmt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* remove the last old-fashioned Diag method. Transition complete!Chris Lattner2008-11-201-7/+9
| | | | llvm-svn: 59714
* remove another old-school Diag method.Chris Lattner2008-11-201-16/+16
| | | | llvm-svn: 59712
* stop calling II::getName() unnecesarily in semaChris Lattner2008-11-191-18/+22
| | | | llvm-svn: 59609
* remove one more old-style Diag method.Chris Lattner2008-11-191-24/+24
| | | | llvm-svn: 59589
* Switch several more Sema Diag methods over. This simplifies theChris Lattner2008-11-191-8/+8
| | | | | | | | __builtin_prefetch code to only emit one diagnostic per builtin_prefetch. While this has nothing to do with the rest of the patch, the code seemed like overkill when I was updating it. llvm-svn: 59588
* Implement initialization of a reference (C++ [dcl.init.ref]) as partDouglas Gregor2008-10-291-5/+6
| | | | | | | | | | | | | | | | | | | of copy initialization. Other pieces of the puzzle: - Try/Perform-ImplicitConversion now handles implicit conversions that don't involve references. - Try/Perform-CopyInitialization uses CheckSingleAssignmentConstraints for C. PerformCopyInitialization is now used for all argument passing and returning values from a function. - Diagnose errors with declaring references and const values without an initializer. (Uses a new Action callback, ActOnUninitializedDecl). We do not yet have implicit conversion sequences for reference binding, which means that we don't have any overloading support for reference parameters yet. llvm-svn: 58353
* Migrate DeclStmt over to using a DeclGroup instead of a pointer to a ↵Ted Kremenek2008-10-071-1/+22
| | | | | | | | ScopedDecl*. This also removes the ugly hack needed in CFG.cpp for subclassing DeclStmt to create a DeclStmt with one Decl*. llvm-svn: 57275
* When processing Objective-C foreach statements, first check to see if the ↵Ted Kremenek2008-10-061-4/+6
| | | | | | statement has a DeclStmt with a single Decl. Afterwards, use DeclStmt::getSolitaryDecl() to access that Decl (thus avoiding an assertion being triggered). These changes remove an unneeded use of ScopedDecl::getNextDeclarator() and DeclStmt::getDecl(). llvm-svn: 57207
* Use the DeclStmt::decl_iterator to get the first decl in a DeclStmt instead ↵Ted Kremenek2008-10-061-1/+1
| | | | | | of using DeclStmt::getDecl(). llvm-svn: 57196
* Fix <rdar://problem/6243788> clang: Incorrect return statement for Blocks?Steve Naroff2008-09-241-1/+3
| | | | llvm-svn: 56590
* Sema::ActOnBlockReturnStmt(): Need to perform the UsualUnaryConversions on ↵Steve Naroff2008-09-161-2/+3
| | | | | | | | | the return type. Sema::CheckReturnStackAddr(): Make sure we skip over implicit casts. Added some more test cases... llvm-svn: 56254
* Do implicit conversion to bool for the condition in a do-while statement.Argyrios Kyrtzidis2008-09-111-1/+4
| | | | llvm-svn: 56096
* Implement Sema support for the 'condition' part of C++ selection-statements ↵Argyrios Kyrtzidis2008-09-101-16/+49
| | | | | | and iteration-statements (if/switch/while/for). llvm-svn: 56044
* Add semantic analysis for "blocks". Steve Naroff2008-09-031-0/+55
| | | | | | | | | | | | | | | Highlights... - 4 new AST nodes, BlockExpr, BlockStmtExpr, BlockExprExpr, BlockDeclRefExpr. - Sema::ActOnBlockStart(), ActOnBlockError(), ActOnBlockStmtExpr(), ActOnBlockExprExpr(), ActOnBlockReturnStmt(). Next steps... - hack Sema::ActOnIdentifierExpr() to deal with block decl refs. - add attribute handler for byref decls. - add test cases. llvm-svn: 55710
* Objective-C foreach selector elements must be lvalues.Anders Carlsson2008-08-251-3/+10
| | | | llvm-svn: 55316
* Several cleanups and tweaks to diagnostics in Sema::ActOnAsmStmt,Chris Lattner2008-08-181-37/+29
| | | | | | no other functionality change. llvm-svn: 54941
* various updates to match r54873 on mainline.Chris Lattner2008-08-171-5/+5
| | | | llvm-svn: 54874
* Update some isIntegerConstantExpr uses to useDaniel Dunbar2008-08-131-4/+2
| | | | | | getIntegerConstantExprValue where appropriate. llvm-svn: 54771
* More #include cleaningDaniel Dunbar2008-08-111-4/+0
| | | | | | | | | | | - Kill unnecessary #includes in .cpp files. This is an automatic sweep so some things removed are actually used, but happen to be included by a previous header. I tried to get rid of the obvious examples and this was the easiest way to trim the #includes in one fell swoop. - We now return to regularly scheduled development. llvm-svn: 54632
* More #include cleaningDaniel Dunbar2008-08-111-0/+1
| | | | | | | | - Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast). llvm-svn: 54629
* Use DeclStmt::decl_iterator instead of walking the getNextDeclarator() chain.Ted Kremenek2008-08-081-4/+4
| | | | llvm-svn: 54501
* convert more code to use ASTContext to get canonical types insteadChris Lattner2008-07-261-1/+1
| | | | | | of doing it directly. This is required for PR2189. llvm-svn: 54102
* Fix rdar://6095136, various crashes with incomplete enum types.Chris Lattner2008-07-251-1/+7
| | | | llvm-svn: 54074
* Move isObjCObjectPointerType() from Sema to ASTContext.Ted Kremenek2008-07-241-2/+2
| | | | llvm-svn: 53998
* Fix rdar://6094010 various asserts happening with wide strings in inline asm.Chris Lattner2008-07-231-38/+38
| | | | llvm-svn: 53947
* Replace CurFunctionDecl and CurMethodDecl with methods getCurFunctionDecl() ↵Argyrios Kyrtzidis2008-06-281-9/+10
| | | | | | and getCurMethodDecl() that return the appropriate Decl through CurContext. llvm-svn: 52852
* Remove FileVarDecl and BlockVarDecl. They are replaced by ↵Steve Naroff2008-04-151-9/+8
| | | | | | | | VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl(). This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it). llvm-svn: 49748
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+821
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud