Check in LLVM r95781.
diff --git a/test/SemaTemplate/instantiate-expr-basic.cpp b/test/SemaTemplate/instantiate-expr-basic.cpp
new file mode 100644
index 0000000..074fe69
--- /dev/null
+++ b/test/SemaTemplate/instantiate-expr-basic.cpp
@@ -0,0 +1,17 @@
+// RUN: %clang_cc1 -fsyntax-only -Wno-unused-value -std=c++0x %s
+
+template <typename T>
+struct S {
+  void f() {
+    __func__; // PredefinedExpr
+    10;       // IntegerLiteral
+    10.5;     // FloatingLiteral
+    'c';      // CharacterLiteral
+    "hello";  // StringLiteral
+    true;     // CXXBooleanLiteralExpr
+    nullptr;  // CXXNullPtrLiteralExpr
+    __null;   // GNUNullExpr
+  }
+};
+
+template struct S<int>;