6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
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/template-instantiation.cpp
|
8ac6b135fb51d2d115b372be0e7c32d3d073d912 |
|
22-Jun-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Disable llvm optimizations in a clang test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
80f5b16efb658dabbcf971f42ed8b789aaaa6baa |
|
18-Aug-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Always mark friend function declarations in class templates as implicitly instantiable, even if we don't see a body on the friend function declaration. The body may simply have not yet been attached. This fixes PR10666. There may be an alternate, preferred implementation strategy, see my FIXME. Review would definitely be appreciated Doug. =D git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
e4d645cbe073042d8abc1a4eb600af4ff7a8dffb |
|
27-May-2011 |
Chandler Carruth <chandlerc@gmail.com> |
Enhance Clang to start instantiating static data member definitions within class templates when they are necessary to complete the type of the member. The canonical example is code like: template <typename T> struct S { static const int arr[]; static const int x; static int f(); }; template <typename T> const int S<T>::arr[] = { 1, 2, 3 }; template <typename T> const int S<T>::x = sizeof(arr) / sizeof(arr[0]); template <typename T> int S<T>::f() { return x; } int x = S<int>::f(); We need to instantiate S<T>::arr's definition to pick up its initializer and complete the array type. This involves new code to specially handle completing the type of an expression where the type alone is insufficient. It also requires *updating* the expression with the newly completed type. Fortunately, all the other infrastructure is already in Clang to do the instantiation, do the completion, and prune out the unused bits of code that result from this instantiation. This addresses the initial bug in PR10001, and will be a step to fleshing out other cases where we need to work harder to complete an expression's type. Who knew we still had missing C++03 "features"? git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
0691a5c83246604a89654e0dfc25870e742035b4 |
|
25-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move unnamed_addr after the function arguments on Sabre's request. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
9f959db60e8913abafe7d5f5f5a83dc6a5c8d87e |
|
11-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add unnamed_addr to vtables. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
c5f657fe308f22243f674fc1dfbe24915944d8bf |
|
11-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add unnamed_addr to constructors and destructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@123197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
bb5e431bf187a9f3cabb72045694fbaea414a702 |
|
04-Nov-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Don't instantiate members not belonging in the semantic context of the template. e.g. for: template <int i> class A { class B *g; }; 'class B' has the template as lexical context but semantically it is introduced in namespace scope. Fixes rdar://8611125 & http://llvm.org/PR8505 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
6102ca1d490836096678d7d934f0b2b78f9293ec |
|
16-Oct-2010 |
John McCall <rjmccall@apple.com> |
White-listing templated-scope friend decls is a good idea, but doing it by marking the decl invalid isn't. Make some steps towards supporting these and then hastily shut them down at the last second by marking them as unsupported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
3bd5b6c3c2ad1d5a6f88cf21f627e8d4f03c4df4 |
|
13-Oct-2010 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Embrace C++ ABI 5.2.6 and consider that template instantiations don't have key functions (same as GCC). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
44eac33ae12df384f3f002102f919f603bee330f |
|
13-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Reinstate the optimization suppressing available_externally functions at -O0. The only change from the previous patch is that we don't try to generate virtual method thunks for an available_externally function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
27cc6331e33efac4020058d2fda36c9060ec5afa |
|
12-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Speculatively revert r108156; it appears to be breaking self-host. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
7ce1f2714ac0f33210bab14650bce2078ebf343e |
|
12-Jul-2010 |
Douglas Gregor <dgregor@apple.com> |
Do not generate LLVM IR for available_externally function bodies at -O0, since we won't be using the definitions for anything anyway. For lib/System/Path.o when built in Debug+Asserts mode, this leads to a 4% improvement in compile time (and suppresses 440 function bodies). <rdar://problem/7987644> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108156 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
7002f4c03c2d0544f4e8bea8d3a5636519081e35 |
|
09-Apr-2010 |
John McCall <rjmccall@apple.com> |
Turn access control on by default in -cc1. Remove -faccess-control from -cc1; add -fno-access-control. Make the driver pass -fno-access-control by default. Update a bunch of tests to be correct under access control. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
e0f38678f01291e68fc70ea6056260b54d529307 |
|
30-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't produce a vtable if we are just instantiating a method and the class has no key function. Fix PR6738. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99900 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|
f3eaf45bf3ebef039c99c1e9efb05b477b2a07aa |
|
24-Mar-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Discussing with dgregor we decided that we should not force the emission of implicit methods on explicit template instantiation definitions. As a consequence, we should emit them at every use, even if we see a explicit template instantiation declaration. This is already the current behaviour, but it is good to test for that :-) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99443 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/template-instantiation.cpp
|