OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.law/] [incdec1.C] - Blame information for rev 338

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 305 jeremybenn
// { dg-do assemble  }
2
// { dg-options "-w -O3" }
3
// GROUPS passed incdec
4
typedef void* Pix;
5
class ndbArtPtrVec
6
{
7
public:
8
                        ndbArtPtrVec (ndbArtPtrVec&);
9
};
10
class intndbArtPtrVecMap
11
{
12
protected:
13
  int                   count;
14
  ndbArtPtrVec                   def;
15
                        intndbArtPtrVecMap(ndbArtPtrVec& dflt);
16
  virtual ndbArtPtrVec&          operator [] (int  key) = 0;
17
  virtual void          del(int  key) = 0;
18
public:
19
  virtual Pix           first() = 0;
20
  virtual void          next(Pix& i) = 0;
21
  virtual int&          key(Pix i) = 0;
22
  virtual ndbArtPtrVec&          contents(Pix i) = 0;
23
};
24
struct intndbArtPtrVecAVLNode
25
{
26
  ndbArtPtrVec                 cont;
27
                      intndbArtPtrVecAVLNode(int  h, ndbArtPtrVec& c,
28
                                    intndbArtPtrVecAVLNode* l=0, intndbArtPtrVecAVLNode* r=0);
29
};
30
class intndbArtPtrVecAVLMap : intndbArtPtrVecMap
31
{
32
protected:
33
  intndbArtPtrVecAVLNode*   root;
34
public:
35
  ndbArtPtrVec&          operator [] (int  key);
36
  intndbArtPtrVecAVLMap(intndbArtPtrVecAVLMap&);
37
};
38
ndbArtPtrVec& intndbArtPtrVecAVLMap::operator [] (int  item)
39
{
40
    ++count;
41
    root = new intndbArtPtrVecAVLNode(item, def);
42
}
43
intndbArtPtrVecAVLMap::intndbArtPtrVecAVLMap(intndbArtPtrVecAVLMap& b) :intndbArtPtrVecMap(b.def)
44
{
45
  for (Pix i = b.first(); i != 0; b.next(i))
46
    (*this)[b.key(i)] = b.contents(i);
47
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.