summaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CGExpr.cpp
AgeCommit message (Collapse)Author
2009-05-20Add EmitReferenceBindingToExpr. Have EmitCallArg use it for now. Doesn't ↵Anders Carlsson
support anything but at least we don't crash ;) llvm-svn: 72147
2009-05-19Improve support for irgen of references.Anders Carlsson
llvm-svn: 72133
2009-05-19Only do the bitcast in EmitStoreOfScalar if the type is a boolean.Anders Carlsson
llvm-svn: 72125
2009-05-19Pass the destination QualType to EmitStoreOfScalar. No functionality change.Anders Carlsson
llvm-svn: 72118
2009-05-16Reflow some comments.Mike Stump
llvm-svn: 71937
2009-05-12implement l-value codegen of comma exprChris Lattner
llvm-svn: 71595
2009-05-12push GlobalDecl through enough of the CodeGenModule interfacesChris Lattner
to allow us to support generation of deferred ctors/dtors. It looks like codegen isn't emitting a call to the dtor in member-functions.cpp:test2, but when it does, its body should get emitted. llvm-svn: 71594
2009-05-04Provide basic support for generation of objc2's Fariborz Jahanian
objc_assign_global API when assigning to global objective-c object pointer. llvm-svn: 70939
2009-05-03Make codegen for constructors work again.Anders Carlsson
llvm-svn: 70785
2009-04-25fix PR4067: [Linux kernel] cannot aggregate codegen stmtexpr as lvalue Chris Lattner
llvm-svn: 70067
2009-04-25Fix pointer addressing and array subscripting of Objective-C interfaceDaniel Dunbar
types. - I broke this in the switch to representing interfaces with opaque types. - <rdar://problem/6822660> clang crashes on subscript of interface in 32-bit mode llvm-svn: 70009
2009-04-24Clang part of r69947. Reverting back 69574 as it is no longer needed.Sanjiv Gupta
llvm-svn: 69949
2009-04-23the logic for computing __func__ and friends is really broken:Chris Lattner
the type assigned by sema (and is visible with sizeof(__func__) for example) has nothing to do with what codegen ends up producing. We should eventually add a method on PredefinedExpr to handle this. In the meantime, just set up some framework and add some fixme's. llvm-svn: 69872
2009-04-22Make ObjCInterfaceDecl's const in some more places.Daniel Dunbar
llvm-svn: 69775
2009-04-21use of predefined identifiers like __func__ at global scope warn in sema,Chris Lattner
but crashed codegen. Fix this to report the name of the llvm function. This fixes rdar://6808051 llvm-svn: 69658
2009-04-21Kill ASTContext::[gs]etFieldForDecl, instead we just lookup thingsDaniel Dunbar
when we need them -- which is exactly what some code was already doing! - No intended functionality change. llvm-svn: 69648
2009-04-21Remove LateBoundIVars() runtime interface, it is unused.Daniel Dunbar
llvm-svn: 69641
2009-04-18Use getAsPointerType instead of using getCanonicalType directly.Daniel Dunbar
- <rdar://problem/6803995> llvm-svn: 69435
2009-04-17tidy some code.Chris Lattner
llvm-svn: 69360
2009-04-17Implement basic code generation of constructor calls. We can now compile:Anders Carlsson
struct S { S(int, int); }; void f() { S s(10, 10); } llvm-svn: 69330
2009-04-14Fixup whitespacing.Mike Stump
llvm-svn: 69055
2009-04-14Use hasAttr instead of getAttr for conditionals.Mike Stump
llvm-svn: 69021
2009-04-14Audit __private_extern__ handling.Daniel Dunbar
- Exposed quite a few Sema issues and a CodeGen crash. - See FIXMEs in test case, and in SemaDecl.cpp (PR3983). I'm skeptical that __private_extern__ should actually be a storage class value. I think that __private_extern__ basically amounts to extern A __attribute__((visibility("hidden"))) and would be better off handled (a) as that, or (b) with an extra bit in the VarDecl. llvm-svn: 69020
2009-04-14Fixup CodeGen for __weak __block variables. Radar 6756266Mike Stump
llvm-svn: 69010
2009-04-13Update to use hasAttr() instead of getAttr().Daniel Dunbar
- No functionality change. llvm-svn: 68987
2009-04-08Use the new EmitCallArgs function. No indented functionality change.Anders Carlsson
llvm-svn: 68652
2009-04-08Pointer width on targets like PIC16 is 16-bit, while the valid index size to ↵Sanjiv Gupta
GEP is only 32 or 64. So promote index to 32 in such cases. llvm-svn: 68590
2009-04-07Remove some dead code.Anders Carlsson
llvm-svn: 68532
2009-04-07Various fixes to symbols used for Obj-C x86_64 metadata.Daniel Dunbar
- Changed method names to match gcc (categories names still aren't mangled in). - Expose correct name for class and metadata symbols (although -fvisibility=hidden isn't yet correct). - Remove several things from llvm.used that didn't need to be there (I suspect this can still be trimmed). - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not needed). - Hide EH type class info with -fvisibility=hidden - Change setGlobal[Option]Visibility to not change the visibility of functions with internal linkage. llvm-svn: 68510
2009-04-03Add support for calling C++ member functions.Anders Carlsson
llvm-svn: 68412
2009-03-24Support member reference on ?: of struct type.Daniel Dunbar
llvm-svn: 67603
2009-03-22fix CreateTempAlloca to not set a name on the alloca for temporariesChris Lattner
in release-assert builds. For automatic variables, explicitly set a name with setName that does not make a temporary std::string. This speeds up -emit-llvm-only -disable-free on PR3810 by 4.6% llvm-svn: 67459
2009-03-21simplify and comment some code better. Make BindRuntimeGlobalsChris Lattner
more optimistic that it will work (optimizing for the common case). llvm-svn: 67438
2009-03-18fix the more complex cases by actually codegen'ing the right expr :)Chris Lattner
llvm-svn: 67219
2009-03-18add codegen support for casting an element to a union.Chris Lattner
There are some more complex cases (_Complex and structs) that I'm still working on. llvm-svn: 67218
2009-03-18teach codegen to handle noop casts as lvalues.Chris Lattner
llvm-svn: 67164
2009-03-04Minor cleanup for choose expressions: add a helper that returns the Eli Friedman
chosen sub-expression, rather than just evaluating the condition. llvm-svn: 66018
2009-03-04Improved ABI compliance for __block variables. No testcases yet as weMike Stump
still give an unsupported error for them due to the fact this is a work in progress. llvm-svn: 66007
2009-03-02Push checking down, also, give the user a hit as to which part of theMike Stump
block literal is causing the problem, instead of the vague reference to the entire block literal. llvm-svn: 65798
2009-02-28First cut CodeGen support for __block variables.Mike Stump
llvm-svn: 65688
2009-02-24first wave of fixes for @encode sema support. This is part of PR3648.Chris Lattner
The big difference here is that (like string literal) @encode has array type, not pointer type. llvm-svn: 65391
2009-02-23We should not generate __weak write barrier on indirect referenceFariborz Jahanian
of a pointer to object; This patch does this odd behavior according to gcc. llvm-svn: 65334
2009-02-22More objc gc work. Match gcc's treatment of ivar accessFariborz Jahanian
true a local pointer to objective-c object in generating write barriers. llvm-svn: 65290
2009-02-21local array of objects are non-gc'able.Fariborz Jahanian
llvm-svn: 65251
2009-02-21Handle case of none gc'able objects regardless of theirFariborz Jahanian
type. llvm-svn: 65205
2009-02-20Shorten; no functionality change.Daniel Dunbar
llvm-svn: 65145
2009-02-20Set call attribute for direct calls (i.e. noreturn).Daniel Dunbar
- Remove an unused variant of EmitCallExpr overload. llvm-svn: 65130
2009-02-20More objc gc's ir-gen fixes.Fariborz Jahanian
llvm-svn: 65097
2009-02-19More objc's gc ir-gen stuff.Fariborz Jahanian
llvm-svn: 65077
2009-02-19Generate the conservative objc gc's API for now.Fariborz Jahanian
llvm-svn: 65051