Florian Krohm c40d351f36 Update the C++ demangler by importing files from GCC trunk @ 212125.
Add a smoke test for the demangler and update the helper script.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14124
2014-06-30 21:04:16 +00:00

30 lines
434 B
C++

// Simple smoke test to see that the demangler is actually working
namespace abc {
template <typename T1, typename T2>
class def {
public:
T1 xyzzy(T1 *p, T2 *)
{
return *p ? 10 : 20;
}
};
};
template <typename T>
class magic {
public:
T xyzzy(T *p)
{
return (new abc::def<int,typeof(this)>)->xyzzy(p, 0);
}
};
int main()
{
magic<int> *c = new magic<int>;
c->xyzzy(new int);
return 0;
}