1105b7eff4
* gdb.cp: New directory. * gdb.cp/*: Copy from gdb.c++/*. * gdb.c++/*: Remove. * Makefile.in: Change gdb.c++ to gdb.cp. * configure.in: Ditto. * configure: Regnerate.
80 lines
964 B
C++
80 lines
964 B
C++
// Class funk has a constructor and an ordinary method
|
|
// Test for CHFts23426
|
|
|
|
class funk
|
|
{
|
|
public:
|
|
funk();
|
|
void getFunky(int a, int b);
|
|
int data_;
|
|
};
|
|
|
|
funk::funk()
|
|
: data_(33)
|
|
{
|
|
}
|
|
|
|
void funk::getFunky(int a, int b)
|
|
{
|
|
int res;
|
|
res = a + b - data_;
|
|
data_ = res;
|
|
}
|
|
|
|
// Class A has const and volatile methods
|
|
|
|
class A {
|
|
public:
|
|
int x;
|
|
int y;
|
|
int foo (int arg);
|
|
int bar (int arg) const;
|
|
int baz (int arg, char c) volatile;
|
|
int qux (int arg, float f) const volatile;
|
|
};
|
|
|
|
int A::foo (int arg)
|
|
{
|
|
x += arg;
|
|
return arg *2;
|
|
}
|
|
|
|
int A::bar (int arg) const
|
|
{
|
|
return arg + 2 * x;
|
|
}
|
|
|
|
int A::baz (int arg, char c) volatile
|
|
{
|
|
return arg - 2 * x + c;
|
|
}
|
|
|
|
int A::qux (int arg, float f) const volatile
|
|
{
|
|
if (f > 0)
|
|
return 2 * arg - x;
|
|
else
|
|
return 2 * arg + x;
|
|
}
|
|
|
|
|
|
int main()
|
|
{
|
|
A a;
|
|
int k;
|
|
|
|
k = 10;
|
|
a.x = k * 2;
|
|
|
|
k = a.foo(13);
|
|
|
|
k += a.bar(15);
|
|
|
|
// Test for CHFts23426 follows
|
|
funk f;
|
|
f.getFunky(1, 2);
|
|
return 0;
|
|
}
|
|
|
|
|
|
|