summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make debugging information usable. This is barebones, but it makes -g Eli Friedman2008-05-221-1/+20
| | | | | | | | | | | | | | actually work (instead of crashing llc), and there's enough info emitted to get line number information in gdb. This should hopefully be helpful for debugging non-working programs. I got rid of the begin/endregion calls because the implementation wasn't working; someone who knows the debugging info a bit better might try to add it. I really have no clue how a compiler is supposed to emit them. This commit shouldn't have any effect without -g. llvm-svn: 51404
* Move getAccessedFieldNo out of lib/AST/Expr.cpp intoDan Gohman2008-05-221-1/+1
| | | | | | | | | lib/CodeGen/CGExpr.cpp and to change include/clang/AST/Attr.h to use its own enum for visibility types instead of using llvm::GlobalValue::VisibilityTypes. These changes eliminate dependencies in the AST library on LLVM's VMCore library. llvm-svn: 51398
* remove a stray printoutChris Lattner2008-05-061-2/+0
| | | | llvm-svn: 50691
* Simplify FunctionDecl::AddRedeclaration a bit by using std::swap.Chris Lattner2008-05-041-0/+1
| | | | | | | Fix 'swapping' of attributes to not insert null values into the DeclAttrs map. llvm-svn: 50612
* if a decl is both 'static' and weak or static and inline, its linkageChris Lattner2008-05-041-3/+3
| | | | | | type should be internal, not weak/linkonce. llvm-svn: 50611
* Remove FileVarDecl and BlockVarDecl. They are replaced by ↵Steve Naroff2008-04-151-1/+1
| | | | | | | | 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
* tracking API changes arising from r49277Gabor Greif2008-04-061-4/+4
| | | | llvm-svn: 49279
* Codegen assignment to self correctly, patch by David Chisnall!Chris Lattner2008-04-041-2/+17
| | | | llvm-svn: 49201
* simplify some code by using PointerLikeType.Chris Lattner2008-04-021-1/+1
| | | | llvm-svn: 49101
* some cleanups on top of David's patch. There are still twoChris Lattner2008-03-301-6/+6
| | | | | | | | | | | | | remaining open issues I've communicated to him: 1) self can be assigned to, and his patch didn't handle it correctly. 2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses all parent class ivars) and flattens classes. If A derives from B, and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}. David, please review. llvm-svn: 48970
* Add initial support for objc codegen for methods, ivars, and theChris Lattner2008-03-301-2/+79
| | | | | | etoile runtime, patch by David Chisnall! llvm-svn: 48969
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+182
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