xref: /openbsd-src/gnu/usr.bin/binutils/gdb/testsuite/gdb.objc/objcdecode.m (revision b725ae7711052a2233e31a66fefb8a752c388d7a)
1*b725ae77Skettenis#include <objc/Object.h>
2*b725ae77Skettenis
3*b725ae77Skettenis@interface Decode: Object
4*b725ae77Skettenis{
5*b725ae77Skettenis}
6*b725ae77Skettenis- multipleDef;
7*b725ae77Skettenis- (const char *) myDescription;
8*b725ae77Skettenis@end
9*b725ae77Skettenis
10*b725ae77Skettenis@implementation Decode
11*b725ae77Skettenis
12*b725ae77Skettenis- multipleDef
13*b725ae77Skettenis{
14*b725ae77Skettenis  printf("method multipleDef\n");
15*b725ae77Skettenis  return self;
16*b725ae77Skettenis}
17*b725ae77Skettenis
18*b725ae77Skettenis- (const char *) myDescription
19*b725ae77Skettenis{
20*b725ae77Skettenis  return "Decode gdb test object";
21*b725ae77Skettenis}
22*b725ae77Skettenis
23*b725ae77Skettenis@end
24*b725ae77Skettenis
25*b725ae77Skettenisint
26*b725ae77SkettenismultipleDef()
27*b725ae77Skettenis{
28*b725ae77Skettenis  printf("function multipleDef\n");
29*b725ae77Skettenis  return 0;
30*b725ae77Skettenis}
31*b725ae77Skettenis
32*b725ae77Skettenisint main (int argc, const char *argv[])
33*b725ae77Skettenis{
34*b725ae77Skettenis  id obj;
35*b725ae77Skettenis  obj = [Decode new];
36*b725ae77Skettenis  multipleDef();
37*b725ae77Skettenis  [obj multipleDef];
38*b725ae77Skettenis  return 0;
39*b725ae77Skettenis}
40*b725ae77Skettenis
41*b725ae77Skettenisconst char *_NSPrintForDebugger(id object)
42*b725ae77Skettenis{
43*b725ae77Skettenis  /* This is not really what _NSPrintForDebugger should do, but it
44*b725ae77Skettenis     is a simple test if gdb can call this function */
45*b725ae77Skettenis  if (object && [object respondsTo: @selector(myDescription)])
46*b725ae77Skettenis    return [object myDescription];
47*b725ae77Skettenis
48*b725ae77Skettenis  return NULL;
49*b725ae77Skettenis}
50