History log of /external/clang/test/CodeGenCXX/member-function-pointers.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
93ab6bf534fb6c26563c00f28a8fc5581bb71dfd 15-Aug-2013 Stephen Lin <stephenwlin@gmail.com> CHECK-LABEL-ify some code gen tests to improve diagnostic experience when tests fail.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
21fe45076c371e9a9f27e15c4e068e77a185fe62 24-Jul-2013 Mark Seaborn <mseaborn@chromium.org> Use ARM-style representation for C++ method pointers under PNaCl/Emscripten

Before this change, Clang uses the x86 representation for C++ method
pointers when generating code for PNaCl. However, the resulting code
will assume that function pointers are 0 mod 2. This assumption is
not safe for PNaCl, where function pointers could have any value
(especially in future sandboxing models).

So, switch to using the ARM representation for PNaCl code, which makes
no assumptions about the alignment of function pointers.

Since we're changing the "le32" target, this change also applies to
Emscripten. The change is beneficial for Emscripten too. Emscripten
has a workaround to make function pointers 0 mod 2. This change would
allow the workaround to be removed.

See: https://code.google.com/p/nativeclient/issues/detail?id=3450

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
2a7b09db93ed57f97cc9d9e7ec1b1d11934d0841 01-May-2012 John McCall <rjmccall@apple.com> Restructure some of the member-pointer tests, implicitly
removing some that were added without a triple (and moving
their tests into files that appropriately test multiple
architectures).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
4d4e5c1ae83f4510caa486b3ad19de13048f9f04 15-Feb-2012 John McCall <rjmccall@apple.com> Split reinterpret_casts of member pointers out from CK_BitCast; this
is general goodness because representations of member pointers are
not always equivalent across member pointer types on all ABIs
(even though this isn't really standard-endorsed).

Take advantage of the new information to teach IR-generation how
to do these reinterprets in constant initializers. Make sure this
works when intermingled with hierarchy conversions (although
this is not part of our motivating use case). Doing this in the
constant-evaluator would probably have been better, but that would
require a *lot* of extra structure in the representation of
constant member pointers: you'd really have to track an arbitrary
chain of hierarchy conversions and reinterpretations in order to
get this right. Ultimately, this seems less complex. I also
wasn't quite sure how to extend the constant evaluator to handle
foldings that we don't actually want to treat as extended
constant expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
a40b7f2c4a968a0f35f088cd009d671389b09ac2 13-Aug-2011 Eli Friedman <eli.friedman@gmail.com> Update clang tests for r137527.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
9cbe4f0ba01ec304e1e3d071c071f7bca33631c0 09-Jul-2011 Chris Lattner <sabre@nondot.org> clang side to match the LLVM IR type system rewrite patch.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134831 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
8bba1f4ab1f06864fec627befdf7cf8e1ad017be 15-Mar-2011 John McCall <rjmccall@apple.com> Reorganize the emission of (unfoldable) constant casts a bit, and
make sure that upcasts of member pointer types are covered as constants.
Fixed rdar://problem/9130221



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
0bab0cdab751248ca389a5592bcb70eac5d39260 23-Aug-2010 John McCall <rjmccall@apple.com> Abstract out everything having to do with member pointers into the ABI
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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111789 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
db68e28c05a67735211e688009890cf834c22e75 22-Aug-2010 Douglas Gregor <dgregor@apple.com> Eliminate a stale assertion. Fixes Clang self-host.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
e14add4a275318e7a9cafd3a01f79fb15a5a08bc 22-Aug-2010 John McCall <rjmccall@apple.com> Clean up a very silly use of first-class aggregates.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
d608cdb7c044365cf4e8764ade1e11e99c176078 22-Aug-2010 John McCall <rjmccall@apple.com> Experiment with using first-class aggregates to represent member function
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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111776 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
875ab10245d3bf37252dd822aa1616bb0a391095 22-Aug-2010 John McCall <rjmccall@apple.com> Abstract out member-pointer creation. I'm really unhappy about the current
duplication between the constant and non-constant paths in all of this.

Implement ARM ABI semantics for member pointer constants and conversion.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
e174bd05ca9991e705f51afcfab27933b537dc63 03-May-2010 Douglas Gregor <dgregor@apple.com> If we're generating code to create a pointer-to-member function
aggregate and the result of the aggregate is unused, bail out
early. Fixes PR7027.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
32897fd3bd84e96d4bfa28aca0c7a907776fb855 03-May-2010 Anders Carlsson <andersca@mac.com> When computing the address of a virtual member function pointer, use the pointer width instead of hardcoding for 64-bit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102921 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
585fa68ca00421af6c8289866a7bde27a8e8c0ce 07-Feb-2010 Anders Carlsson <andersca@mac.com> Use the right type when taking the address of a non-virtual member function pointer. Fixes PR6258.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
e8a81f7e8e26275d91c073bf908a7d6d246106c5 04-Feb-2010 Anders Carlsson <andersca@mac.com> Calculate offset correctly when taking the address of a virtual member function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
3005efeb131ccddcda9c332c83e49c32349e2aed 16-Jan-2010 Eli Friedman <eli.friedman@gmail.com> Make the AST explicitly represent the cast of the first operand of a
pointer-to-member operator.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
7af4ec744e30d573482aef7a37089d0d32cc07ef 05-Jan-2010 Anders Carlsson <andersca@mac.com> When emitting member function pointers, use the canonical decl if the member function is virtual. Fixes PR5940.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
a5728872c7702ddd09537c95bc3cbd20e1f2fb09 15-Dec-2009 Daniel Dunbar <daniel@zuster.org> Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
- 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).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
3a1737030e3c8d209987325c61dacb8e4a65123b 11-Dec-2009 Eli Friedman <eli.friedman@gmail.com> Move the code for converting a member pointer to a bool so that it is usable
for logical not.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
b81c786de58ce484230dc04f9a7c78bc48990106 11-Dec-2009 Eli Friedman <eli.friedman@gmail.com> Fix for PR5718: implement equality comparisons for member function pointers.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
9b3727457d1f779da81569c2ca42ff6cd5f5b03d 27-Nov-2009 Eli Friedman <eli.friedman@gmail.com> Some member pointer casting tests.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89989 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
a4c98cd60e7151ea6eccfc677742bdbcf58d2a55 23-Nov-2009 Anders Carlsson <andersca@mac.com> Convert the && and || operands to bool using standard conversions. Fixes PR5593.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
bc0e0781da778bd5eb41a810419912893ae20448 23-Nov-2009 Anders Carlsson <andersca@mac.com> Handle converting member pointers to bool.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
47d1e828674a2d9c020db9f9ec45f27025a39e35 11-Nov-2009 Daniel Dunbar <daniel@zuster.org> Fix some tests in -Asserts mode.
- 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.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
bb378cbf04e343fb15ae3611a153dde60671b514 18-Oct-2009 Anders Carlsson <andersca@mac.com> Use CK_BitCast for member function pointer casts. Fixes PR5138.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
3eea6350412eb7db13f0e2791c118920b36130a4 13-Oct-2009 Anders Carlsson <andersca@mac.com> Don't assume that the LHS and RHS of a member pointer expression is a DeclRefExpr. Fixes PR5177.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
375c31c4673f83f925de221752cf801c2fbbb246 03-Oct-2009 Anders Carlsson <andersca@mac.com> Implement code generation of member function pointer calls. Fixes PR5121.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
a024d17048cd7fb71bfaee3876993ef2c27057be 03-Oct-2009 Anders Carlsson <andersca@mac.com> Teach AggExprEmitter about pointers to member functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83266 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
2c51f092e4d75550f51b4dd6f831aa5e5e6ae928 03-Oct-2009 Anders Carlsson <andersca@mac.com> Handle base-to-derived casts of member function pointers in CGExprConstant.cpp

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
f57b4e44d03266f2ec1b427645555ed8952bc830 03-Oct-2009 Anders Carlsson <andersca@mac.com> Handle members to function pointers in CGExprConstant.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
ee383163a656a7e8d99efa4e5ee98c705c7fdf89 03-Oct-2009 Anders Carlsson <andersca@mac.com> Rewrite member function pointer test not to rely on -O2.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp
7b69956387785006244e7868f8dab09b371dbb6d 29-Sep-2009 Anders Carlsson <andersca@mac.com> Forgot test.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/member-function-pointers.cpp