Use CXXCOMPILE in gold/testsuite/Makefile for c++ testcases
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.objc / basicclass.m
1 #include <stdio.h>
2 #include <objc/Object.h>
3
4 @interface BasicClass: Object
5 {
6 id object;
7 }
8 + newWithArg: arg;
9 - doIt;
10 - takeArg: arg;
11 - printHi;
12 - (int) printNumber: (int)number;
13 - (const char *) myDescription;
14 @end
15
16 @interface BasicClass (Private)
17 - hiddenMethod;
18 @end
19
20 @implementation BasicClass
21 + newWithArg: arg
22 {
23 id obj = [self new];
24 [obj takeArg: arg];
25 return obj;
26 }
27
28 - doIt
29 {
30 return self;
31 }
32
33 - takeArg: arg
34 {
35 object = arg;
36 [self hiddenMethod];
37 return self;
38 }
39
40 - printHi
41 {
42 printf("Hi\n");
43 return self;
44 }
45
46 - (int) printNumber: (int)number
47 {
48 printf("%d\n", number);
49 return number+1;
50 }
51
52 - (const char *) myDescription
53 {
54 return "BasicClass gdb test object";
55 }
56
57 @end
58
59 @implementation BasicClass (Private)
60 - hiddenMethod
61 {
62 return self;
63 }
64 @end
65
66 int main (int argc, const char *argv[])
67 {
68 id obj;
69 obj = [BasicClass new];
70 [obj takeArg: obj];
71 return 0;
72 }
73
74 const char *_NSPrintForDebugger(id object)
75 {
76 /* This is not really what _NSPrintForDebugger should do, but it
77 is a simple test if gdb can call this function */
78 if (object && [object respondsTo: @selector(myDescription)])
79 return [object myDescription];
80
81 return NULL;
82 }
This page took 0.035571 seconds and 4 git commands to generate.