summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp/ref-types.cc
blob: 1c2f4f46cce6a6850a6583c03b9f6e57a54752e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/* This test script is part of GDB, the GNU debugger.

   Copyright 1999, 2004
   Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
 
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
   */

int main2(void);

void marker1 (void)
{
    
}



int main(void)
{
    short s;
    short &rs = s;
    short *ps;
    short *&rps = ps;
    short as[4];
    short (&ras)[4] = as;
    s = -1;
    ps = &s;
    as[0] = 0;
    as[1] = 1;
    as[2] = 2;
    as[3] = 3;

   #ifdef usestubs
       set_debug_traps();
       breakpoint();
    #endif
    marker1();

    main2();

    return 0;
}

int f()
{
    int f1;
    f1 = 1;
    return f1;
}

int main2(void)
{
    char C;
    unsigned char UC;
    short S;
    unsigned short US;
    int I;
    unsigned int UI;
    long L;
    unsigned long UL;
    float F;
    double D;
    char &rC = C;
    unsigned char &rUC = UC;
    short &rS = S;
    unsigned short &rUS = US;
    int &rI = I;
    unsigned int &rUI = UI;
    long &rL = L;
    unsigned long &rUL = UL;
    float &rF = F;
    double &rD = D;
    C = 'A';
    UC = 21;
    S = -14;
    US = 7;
    I = 102;
    UI = 1002;
    L = -234;
    UL = 234;
    F = 1.25E10;
    D = -1.375E-123;
    I = f();

    return 0;
    
}