Home | History | Annotate | Line # | Download | only in gdb.cp
      1  1.1  christos namespace A
      2  1.1  christos {
      3  1.1  christos   class C
      4  1.1  christos   {
      5  1.1  christos   public:
      6  1.1  christos     static const int x = 11;
      7  1.1  christos   };
      8  1.1  christos 
      9  1.1  christos   int
     10  1.1  christos   first (C c)
     11  1.1  christos   {
     12  1.1  christos     return 11;
     13  1.1  christos   }
     14  1.1  christos 
     15  1.1  christos   int
     16  1.1  christos   first (int a, C c)
     17  1.1  christos   {
     18  1.1  christos     return 22;
     19  1.1  christos   }
     20  1.1  christos 
     21  1.1  christos   int
     22  1.1  christos   second (int a, int b, C cc, int c, int d)
     23  1.1  christos   {
     24  1.1  christos     return 33;
     25  1.1  christos   }
     26  1.1  christos 
     27  1.1  christos   int
     28  1.1  christos   entry (C c)
     29  1.1  christos   {
     30  1.1  christos     return 44;
     31  1.1  christos   }
     32  1.1  christos }
     33  1.1  christos 
     34  1.1  christos struct B
     35  1.1  christos {
     36  1.1  christos   A::C c;
     37  1.1  christos };
     38  1.1  christos 
     39  1.1  christos //------------
     40  1.1  christos 
     41  1.1  christos namespace E
     42  1.1  christos {
     43  1.1  christos   class O{};
     44  1.1  christos   int foo (O o){return 1; }
     45  1.1  christos   int foo (O o, O o2){return 2; }
     46  1.1  christos   int foo (O o, O o2, int i){return 3; }
     47  1.1  christos }
     48  1.1  christos 
     49  1.1  christos namespace F
     50  1.1  christos {
     51  1.1  christos   class O{};
     52  1.1  christos   int foo (       O fo, ::E::O eo){ return 4;}
     53  1.1  christos   int foo (int i, O fo, ::E::O eo){ return 5;}
     54  1.1  christos }
     55  1.1  christos 
     56  1.1  christos namespace G
     57  1.1  christos {
     58  1.1  christos   class O{};
     59  1.1  christos   int foo (O go, ::F::O fo, ::E::O eo){ return 6; }
     60  1.1  christos }
     61  1.1  christos 
     62  1.1  christos //------------
     63  1.1  christos 
     64  1.1  christos namespace H
     65  1.1  christos {
     66  1.1  christos   class O{};
     67  1.1  christos   int foo (O){ return 7;}
     68  1.1  christos }
     69  1.1  christos 
     70  1.1  christos namespace I
     71  1.1  christos {
     72  1.1  christos   class O: public H::O {};
     73  1.1  christos   class X: H::O{};
     74  1.1  christos }
     75  1.1  christos 
     76  1.1  christos //------------
     77  1.1  christos 
     78  1.1  christos namespace J
     79  1.1  christos {
     80  1.1  christos   union U{};
     81  1.1  christos   struct S{};
     82  1.1  christos   enum E{};
     83  1.1  christos 
     84  1.1  christos   class A{
     85  1.1  christos   public:
     86  1.1  christos     class B{};
     87  1.1  christos   };
     88  1.1  christos 
     89  1.1  christos   class C{};
     90  1.1  christos 
     91  1.1  christos   int foo (U){ return 8;}
     92  1.1  christos   int foo (S){ return 9;}
     93  1.1  christos   int foo (E){ return 10;}
     94  1.1  christos   int foo (A::B){ return 11;}
     95  1.1  christos   int foo (A*){ return 12;}
     96  1.1  christos   int foo (A**){ return 13;}
     97  1.1  christos   int foo (C[]){ return 14;}
     98  1.1  christos 
     99  1.1  christos }
    100  1.1  christos //------------
    101  1.1  christos 
    102  1.1  christos namespace K{
    103  1.1  christos   class O{};
    104  1.1  christos 
    105  1.1  christos   int foo(O, int){
    106  1.1  christos     return 15;
    107  1.1  christos   }
    108  1.1  christos 
    109  1.1  christos   int bar(O, int){
    110  1.1  christos     return 15;
    111  1.1  christos   }
    112  1.1  christos }
    113  1.1  christos 
    114  1.1  christos int foo(K::O, float){
    115  1.1  christos   return 16;
    116  1.1  christos }
    117  1.1  christos 
    118  1.1  christos int bar(K::O, int){
    119  1.1  christos   return 16;
    120  1.1  christos }
    121  1.1  christos //------------
    122  1.1  christos 
    123  1.1  christos namespace L {
    124  1.1  christos   namespace A{
    125  1.1  christos     namespace B{
    126  1.1  christos     class O {};
    127  1.1  christos 
    128  1.1  christos     int foo (O){
    129  1.1  christos       return 17;
    130  1.1  christos     }
    131  1.1  christos 
    132  1.1  christos     }
    133  1.1  christos   }
    134  1.1  christos }
    135  1.1  christos 
    136  1.1  christos //------------
    137  1.1  christos 
    138  1.1  christos namespace M {
    139  1.1  christos   class A{
    140  1.1  christos   public:
    141  1.1  christos     int foo(char) {
    142  1.1  christos       return 18;
    143  1.1  christos     }
    144  1.1  christos   };
    145  1.1  christos 
    146  1.1  christos   int foo(A,char){
    147  1.1  christos       return 19;
    148  1.1  christos   }
    149  1.1  christos 
    150  1.1  christos   int foo(A *,char){
    151  1.1  christos     return 23;
    152  1.1  christos   }
    153  1.1  christos 
    154  1.1  christos   int bar(char){
    155  1.1  christos     return 21;
    156  1.1  christos   }
    157  1.1  christos 
    158  1.1  christos   namespace N {
    159  1.1  christos     int foo(::M::A,int){
    160  1.1  christos       return 20;
    161  1.1  christos     }
    162  1.1  christos 
    163  1.1  christos     int bar(int){
    164  1.1  christos       return 22;
    165  1.1  christos     }
    166  1.1  christos   }
    167  1.1  christos }
    168  1.1  christos //------------
    169  1.1  christos 
    170  1.1  christos namespace O {
    171  1.1  christos   class A{};
    172  1.1  christos 
    173  1.1  christos   int foo(A,int){
    174  1.1  christos     return 23;
    175  1.1  christos   }
    176  1.1  christos 
    177  1.1  christos }
    178  1.1  christos 
    179  1.1  christos typedef O::A TOA;
    180  1.1  christos typedef TOA  TTOA;
    181  1.1  christos 
    182  1.1  christos //------------
    183  1.1  christos 
    184  1.1  christos static union {
    185  1.1  christos     int  a;
    186  1.1  christos     char b;
    187  1.1  christos }p_union;
    188  1.1  christos 
    189  1.1  christos //------------
    190  1.1  christos 
    191  1.1  christos namespace P {
    192  1.1  christos   class Q{
    193  1.1  christos   public:
    194  1.1  christos     int operator== (int)
    195  1.1  christos       {
    196  1.1  christos         return 24;
    197  1.1  christos       }
    198  1.1  christos 
    199  1.1  christos     int operator== (float)
    200  1.1  christos       {
    201  1.1  christos         return 25;
    202  1.1  christos       }
    203  1.1  christos 
    204  1.1  christos     int operator+ (float)
    205  1.1  christos       {
    206  1.1  christos         return 26;
    207  1.1  christos       }
    208  1.1  christos 
    209  1.1  christos   };
    210  1.1  christos 
    211  1.1  christos   int operator!= (Q, int)
    212  1.1  christos     {
    213  1.1  christos       return 27;
    214  1.1  christos     }
    215  1.1  christos 
    216  1.1  christos   int operator!= (Q, double)
    217  1.1  christos     {
    218  1.1  christos       return 28;
    219  1.1  christos     }
    220  1.1  christos 
    221  1.1  christos   int operator+ (Q, int)
    222  1.1  christos     {
    223  1.1  christos       return 29;
    224  1.1  christos     }
    225  1.1  christos 
    226  1.1  christos   int operator++ (Q)
    227  1.1  christos     {
    228  1.1  christos       return 30;
    229  1.1  christos     }
    230  1.1  christos }
    231  1.1  christos 
    232  1.1  christos //------------
    233  1.1  christos 
    234  1.1  christos class R {
    235  1.1  christos   public:
    236  1.1  christos     int rfoo(){ return 31; }
    237  1.1  christos     int rbar(){
    238  1.1  christos       return 1; // marker1
    239  1.1  christos     }
    240  1.1  christos };
    241  1.1  christos 
    242  1.1  christos //------------
    243  1.1  christos 
    244  1.1  christos int
    245  1.1  christos main ()
    246  1.1  christos {
    247  1.1  christos   A::C c;
    248  1.1  christos   B b;
    249  1.1  christos 
    250  1.1  christos   A::first (c);
    251  1.1  christos   first (0, c);
    252  1.1  christos   second (0, 0, c, 0, 0);
    253  1.1  christos   entry (c);
    254  1.1  christos   A::first (b.c);
    255  1.1  christos 
    256  1.1  christos   E::O eo;
    257  1.1  christos   F::O fo;
    258  1.1  christos   G::O go;
    259  1.1  christos 
    260  1.1  christos   foo (eo);
    261  1.1  christos   foo (eo, eo);
    262  1.1  christos   foo (eo, eo, 1);
    263  1.1  christos   foo (fo, eo);
    264  1.1  christos   foo (1  ,fo, eo);
    265  1.1  christos   foo (go, fo, eo);
    266  1.1  christos 
    267  1.1  christos   I::O io;
    268  1.1  christos   I::X ix;
    269  1.1  christos 
    270  1.1  christos   foo (io);
    271  1.1  christos //foo (ix);
    272  1.1  christos 
    273  1.1  christos   J::U ju;
    274  1.1  christos   J::S js;
    275  1.1  christos   J::E je;
    276  1.1  christos   J::A::B jab;
    277  1.1  christos   J::A *jap;
    278  1.1  christos   J::A **japp;
    279  1.1  christos   J::C jca[3];
    280  1.1  christos 
    281  1.1  christos   foo (ju);
    282  1.1  christos   foo (js);
    283  1.1  christos   foo (je);
    284  1.1  christos   foo (jab);
    285  1.1  christos   foo (jap);
    286  1.1  christos   foo (japp);
    287  1.1  christos   foo (jca);
    288  1.1  christos 
    289  1.1  christos   K::O ko;
    290  1.1  christos   foo (ko, 1);
    291  1.1  christos   foo (ko, 1.0f);
    292  1.1  christos   //bar(ko,1);
    293  1.1  christos 
    294  1.1  christos   L::A::B::O labo;
    295  1.1  christos   foo (labo);
    296  1.1  christos 
    297  1.1  christos   M::A ma;
    298  1.1  christos   foo(ma,'a');
    299  1.1  christos   ma.foo('a');
    300  1.1  christos   M::N::foo(ma,'a');
    301  1.1  christos 
    302  1.1  christos   M::bar('a');
    303  1.1  christos   M::N::bar('a');
    304  1.1  christos 
    305  1.1  christos   TTOA ttoa;
    306  1.1  christos   foo (ttoa, 'a');
    307  1.1  christos 
    308  1.6  christos   p_union = {0};
    309  1.6  christos 
    310  1.1  christos   P::Q q;
    311  1.1  christos   q == 5;
    312  1.1  christos   q == 5.0f;
    313  1.1  christos   q != 5;
    314  1.1  christos   q != 5.0f;
    315  1.1  christos   q + 5;
    316  1.1  christos   q + 5.0f;
    317  1.1  christos 
    318  1.1  christos   ++q;
    319  1.1  christos 
    320  1.1  christos   R r;
    321  1.1  christos   r.rbar();
    322  1.1  christos   r.rfoo();
    323  1.1  christos 
    324  1.1  christos   return first (0, c) + foo (eo) +
    325  1.1  christos          foo (eo, eo) + foo (eo, eo, 1)  +
    326  1.1  christos          foo (fo, eo) + foo (1  ,fo, eo) +
    327  1.1  christos          foo (go, fo, eo);
    328  1.1  christos }
    329