diff options
author | Ed Schouten <ed@FreeBSD.org> | 2009-07-04 13:58:54 +0000 |
---|---|---|
committer | Ed Schouten <ed@FreeBSD.org> | 2009-07-04 13:58:54 +0000 |
commit | 5362a71c02e7d448a8ce98cf00c47e353fba5d04 (patch) | |
tree | 8ddfe382e1c6d590dc240e76f7cd45cea5c78e24 /test/CodeGenCXX/function-template-specialization.cpp | |
parent | 4ebdf5c4f587daef4e0be499802eac3a7a49bf2f (diff) | |
download | src-5362a71c02e7d448a8ce98cf00c47e353fba5d04.tar.gz src-5362a71c02e7d448a8ce98cf00c47e353fba5d04.zip |
Import Clang r74788.vendor/clang/clang-r74788
Notes
Notes:
svn path=/vendor/clang/dist/; revision=195341
svn path=/vendor/clang/clang-r74788/; revision=195343; tag=vendor/clang/clang-r74788
Diffstat (limited to 'test/CodeGenCXX/function-template-specialization.cpp')
-rw-r--r-- | test/CodeGenCXX/function-template-specialization.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/CodeGenCXX/function-template-specialization.cpp b/test/CodeGenCXX/function-template-specialization.cpp new file mode 100644 index 000000000000..bea3af2bb5af --- /dev/null +++ b/test/CodeGenCXX/function-template-specialization.cpp @@ -0,0 +1,27 @@ +// RUN: clang-cc -emit-llvm %s -o %t && +template<typename T, typename U> +T* next(T* ptr, const U& diff); + +template<typename T, typename U> +T* next(T* ptr, const U& diff) { + return ptr + diff; +} + +void test(int *iptr, float *fptr, int diff) { + // FIXME: should be "_Z4nextIiiEPT_S1_RKT0_" + // RUN: grep "_Z4nextIiiEPiPiRKi" %t && + iptr = next(iptr, diff); + // FIXME: should be "_Z4nextIfiEPT_S1_RKT0_" + // RUN: grep "_Z4nextIfiEPfPfRKi" %t && + fptr = next(fptr, diff); +} + +template<typename T, typename U> +T* next(T* ptr, const U& diff); + +void test2(int *iptr, double *dptr, int diff) { + iptr = next(iptr, diff); + // FIXME: should be "_Z4nextIdiEPT_S1_RKT0_" + // RUN: grep "_Z4nextIdiEPdPdRKi" %t + dptr = next(dptr, diff); +}
\ No newline at end of file |