Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Abstract out everything having to do with member pointers into the ABI | John McCall | 2010-08-23 | 1 | -2/+2 |
| | | | | | | | | | | | class; they should just be completely opaque throughout IR gen now, although I haven't really audited that. Fix a bug apparently inherited from gcc-4.2 where we failed to null-check member data pointers when performing derived-to-base or base-to-derived conversions on them. llvm-svn: 111789 | ||||
* | Eliminate a stale assertion. Fixes Clang self-host. | Douglas Gregor | 2010-08-22 | 1 | -0/+11 |
| | | | | llvm-svn: 111782 | ||||
* | Clean up a very silly use of first-class aggregates. | John McCall | 2010-08-22 | 1 | -8/+4 |
| | | | | llvm-svn: 111777 | ||||
* | Experiment with using first-class aggregates to represent member function | John McCall | 2010-08-22 | 1 | -30/+22 |
| | | | | | | | | | | pointers. I find the resulting code to be substantially cleaner, and it makes it very easy to use the same APIs for data member pointers (which I have conscientiously avoided here), and it avoids a plethora of potential inefficiencies due to excessive memory copying, but we'll have to see if it actually works. llvm-svn: 111776 | ||||
* | Abstract out member-pointer creation. I'm really unhappy about the current | John McCall | 2010-08-22 | 1 | -0/+20 |
| | | | | | | | | duplication between the constant and non-constant paths in all of this. Implement ARM ABI semantics for member pointer constants and conversion. llvm-svn: 111772 | ||||
* | If we're generating code to create a pointer-to-member function | Douglas Gregor | 2010-05-03 | 1 | -0/+6 |
| | | | | | | | aggregate and the result of the aggregate is unused, bail out early. Fixes PR7027. llvm-svn: 102942 | ||||
* | When computing the address of a virtual member function pointer, use the ↵ | Anders Carlsson | 2010-05-03 | 1 | -10/+21 |
| | | | | | | pointer width instead of hardcoding for 64-bit. llvm-svn: 102921 | ||||
* | Use the right type when taking the address of a non-virtual member function ↵ | Anders Carlsson | 2010-02-07 | 1 | -3/+17 |
| | | | | | | pointer. Fixes PR6258. llvm-svn: 95524 | ||||
* | Calculate offset correctly when taking the address of a virtual member function. | Anders Carlsson | 2010-02-04 | 1 | -4/+13 |
| | | | | llvm-svn: 95305 | ||||
* | Make the AST explicitly represent the cast of the first operand of a | Eli Friedman | 2010-01-16 | 1 | -0/+11 |
| | | | | | | pointer-to-member operator. llvm-svn: 93592 | ||||
* | When emitting member function pointers, use the canonical decl if the member ↵ | Anders Carlsson | 2010-01-05 | 1 | -0/+11 |
| | | | | | | function is virtual. Fixes PR5940. llvm-svn: 92680 | ||||
* | Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. | Daniel Dunbar | 2009-12-15 | 1 | -1/+1 |
| | | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446 | ||||
* | Move the code for converting a member pointer to a bool so that it is usable | Eli Friedman | 2009-12-11 | 1 | -0/+15 |
| | | | | | | for logical not. llvm-svn: 91112 | ||||
* | Fix for PR5718: implement equality comparisons for member function pointers. | Eli Friedman | 2009-12-11 | 1 | -0/+8 |
| | | | | llvm-svn: 91108 | ||||
* | Some member pointer casting tests. | Eli Friedman | 2009-11-27 | 1 | -0/+5 |
| | | | | llvm-svn: 89989 | ||||
* | Convert the && and || operands to bool using standard conversions. Fixes PR5593. | Anders Carlsson | 2009-11-23 | 1 | -0/+9 |
| | | | | llvm-svn: 89704 | ||||
* | Handle converting member pointers to bool. | Anders Carlsson | 2009-11-23 | 1 | -0/+4 |
| | | | | llvm-svn: 89692 | ||||
* | Fix some tests in -Asserts mode. | Daniel Dunbar | 2009-11-11 | 1 | -3/+3 |
| | | | | | | | | | | | | | - FileCheck is a *huuuuge* improvement here. - Still feels like we could use a better tool for this though, either teach llvm-dis to spit out the FileCheck syntax, or provide another tool to turn a .ll into a "matchable" input. - Also on my Christmas list is better FileCheck diagnostics with missing variables or mismatches. llvm-svn: 86800 | ||||
* | Use CK_BitCast for member function pointer casts. Fixes PR5138. | Anders Carlsson | 2009-10-18 | 1 | -0/+16 |
| | | | | llvm-svn: 84438 | ||||
* | Don't assume that the LHS and RHS of a member pointer expression is a ↵ | Anders Carlsson | 2009-10-13 | 1 | -0/+17 |
| | | | | | | DeclRefExpr. Fixes PR5177. llvm-svn: 83986 | ||||
* | Implement code generation of member function pointer calls. Fixes PR5121. | Anders Carlsson | 2009-10-03 | 1 | -0/+5 |
| | | | | llvm-svn: 83271 | ||||
* | Teach AggExprEmitter about pointers to member functions. | Anders Carlsson | 2009-10-03 | 1 | -1/+15 |
| | | | | llvm-svn: 83266 | ||||
* | Handle base-to-derived casts of member function pointers in CGExprConstant.cpp | Anders Carlsson | 2009-10-03 | 1 | -0/+6 |
| | | | | llvm-svn: 83265 | ||||
* | Handle members to function pointers in CGExprConstant. | Anders Carlsson | 2009-10-03 | 1 | -4/+10 |
| | | | | llvm-svn: 83264 | ||||
* | Rewrite member function pointer test not to rely on -O2. | Anders Carlsson | 2009-10-03 | 1 | -11/+11 |
| | | | | llvm-svn: 83262 | ||||
* | Forgot test. | Anders Carlsson | 2009-09-29 | 1 | -0/+25 |
llvm-svn: 83044 |