1#include <stdio.h>
2#include <valgrind.h>
3
4/* GCC 3.4.6 will not compile inlined member template functions.
5   Let's assume GCC 4.x does */
6#ifdef __GNUC__
7#if __GNUC__ > 3
8#define INLINE    inline __attribute__((always_inline))
9#else
10#define INLINE
11#endif
12#endif
13
14class X
15{
16public:
17
18   template <typename T>
19   static INLINE T temp_member_func_b(T argb) {
20      static T locb = 0;
21      if (argb > 0)
22         locb += argb;
23      return locb;
24   }
25
26   template <typename T>
27   static /*INLINE*/ T temp_member_func_noinline(T arga) {
28       return temp_member_func_b(arga);
29   }
30
31};
32
33
34int main() {
35   int result;
36   result = X::temp_member_func_noinline(result);
37   return 0;
38}
39
40