add an initial stab at emitting deferred c++ inline functions.  This handles static
functions and methods declared inline, but not ctors/dtors or methods not declared
inline (apparently my previous patch wasn't good enough).

llvm-svn: 71591
diff --git a/clang/test/CodeGenCXX/member-functions.cpp b/clang/test/CodeGenCXX/member-functions.cpp
index 9cdab0a..8327890 100644
--- a/clang/test/CodeGenCXX/member-functions.cpp
+++ b/clang/test/CodeGenCXX/member-functions.cpp
@@ -8,12 +8,36 @@
 void C::f() {
 }
 
-void f() {
+void test1() {
   C c;
   
 // RUN: grep "call void @_ZN1C1fEv" %t | count 1 &&
   c.f();
   
-// RUN: grep "call void (.struct.C\*, i32, ...)\* @_ZN1C1gEiz" %t | count 1
+// RUN: grep "call void (.struct.C\*, i32, ...)\* @_ZN1C1gEiz" %t | count 1 &&
   c.g(1, 2, 3);
 }
+
+
+struct S {
+  S() { }
+  ~S() { }
+  
+  
+  void f_inline1() { }
+  // RUN: grep "define linkonce_odr void @_ZN1S9f_inline2Ev" %t &&
+  inline void f_inline2() { }
+  
+  // RUN: grep "define internal void @_ZN1S1gEv" %t
+  static void g() { }
+};
+
+void test2() {
+  S s;
+  
+  s.f_inline1();
+  s.f_inline2();
+  
+  S::g();
+  
+}