[cfe-commits] r73924 - /cfe/trunk/test/SemaTemplate/implicit-instantiation-1.cpp

Douglas Gregor dgregor at apple.com
Mon Jun 22 16:57:29 PDT 2009


Author: dgregor
Date: Mon Jun 22 18:57:29 2009
New Revision: 73924

URL: http://llvm.org/viewvc/llvm-project?rev=73924&view=rev
Log:
Some semantic tests for implicit instantiations

Added:
    cfe/trunk/test/SemaTemplate/implicit-instantiation-1.cpp

Added: cfe/trunk/test/SemaTemplate/implicit-instantiation-1.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaTemplate/implicit-instantiation-1.cpp?rev=73924&view=auto

==============================================================================
--- cfe/trunk/test/SemaTemplate/implicit-instantiation-1.cpp (added)
+++ cfe/trunk/test/SemaTemplate/implicit-instantiation-1.cpp Mon Jun 22 18:57:29 2009
@@ -0,0 +1,16 @@
+// RUN: clang-cc -fsyntax-only -verify %s
+
+template<typename T, typename U>
+struct X {
+  T f(T x, U y) { return x + y; }
+
+  unsigned g(T x, U y) { return sizeof(f(x, y)); }
+};
+
+void test(X<int, int> *xii, X<int*, int> *xpi, X<int, int*> *xip) {
+  (void)xii->f(1, 2);
+  (void)xpi->f(0, 2);
+  (void)sizeof(xip->f(2, 0)); // okay: does not instantiate
+  (void)xip->g(2, 0); // okay: does not instantiate
+}
+





More information about the cfe-commits mailing list