History log of /external/clang/test/CodeGenCXX/template-instantiation.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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