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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [torture/] [pr44295.C] - Blame information for rev 715

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 693 jeremybenn
/* { dg-do compile } */
2
extern "C" {
3
  typedef __SIZE_TYPE__ size_t;
4
  typedef struct   {
5
    } __sigset_t;
6
  typedef union {
7
  } pthread_barrierattr_t;
8
  }
9
  typedef unsigned short XMLCh;
10
      typedef unsigned long XMLSize_t;
11
  namespace xercesc_2_5 {
12
  class DOMNodeList;
13
  class DOMNode {
14
  };
15
  class DOMDocumentRange {
16
  };
17
  class DOMDocument: public DOMDocumentRange,  public DOMNode {
18
  };
19
  union wait   {
20
      struct       {
21
       }
22
  __wait_stopped;
23
    }
24
 div_t;
25
  class MemoryManager;
26
  class XMemory {
27
  public :     void* operator new(size_t size, MemoryManager* memMgr);
28
      void operator delete(void* p);
29
      void operator delete(void* p, MemoryManager* memMgr);
30
  };
31
  class XMLExcepts {
32
  public :     enum Codes     {
33
         NoError = 0       , HshTbl_ZeroModulus = 48       , HshTbl_BadHashFromKey = 49     };
34
  };
35
  class XMLUni {
36
  };
37
  }
38
  namespace xercesc_2_5 {
39
  class XMLException : public XMemory {
40
  public:
41
    virtual ~XMLException();
42
      XMLException(const char* const srcFile, const unsigned int srcLine, MemoryManager* const memoryManager = 0);
43
      void loadExceptText     (         const XMLExcepts::Codes toLoad     );
44
  };
45
  class XMLDeleter {
46
  };
47
  class XMLPlatformUtils {
48
  public :     static MemoryManager* fgMemoryManager;
49
   static inline size_t alignPointerForNewBlockAllocation(size_t ptrSize);
50
  };
51
  inline size_t XMLPlatformUtils::alignPointerForNewBlockAllocation(size_t ptrSize) {
52
  }
53
  class HashBase : public XMemory {
54
  public:
55
 virtual bool equals(const void *const key1, const void *const key2) = 0;
56
      virtual ~HashBase() {
57
};
58
  };
59
  class IllegalArgumentException : public XMLException {
60
  public:
61
IllegalArgumentException(const char* const srcFile , const unsigned int srcLine , const XMLExcepts::Codes toThrow , MemoryManager* memoryManager = 0) : XMLException(srcFile, srcLine, memoryManager) {
62
 loadExceptText(toThrow);
63
 }
64
  };
65
  class RuntimeException : public XMLException {
66
  public:
67
RuntimeException(const char* const srcFile , const unsigned int srcLine , const XMLExcepts::Codes toThrow , MemoryManager* memoryManager = 0) : XMLException(srcFile, srcLine, memoryManager) {
68
 loadExceptText(toThrow);
69
 }
70
  };
71
  class MemoryManager {
72
  public:
73
    virtual ~MemoryManager()     {
74
     }
75
      virtual void* allocate(size_t size) = 0;
76
  };
77
  template  class BaseRefVectorOf : public XMemory {
78
      BaseRefVectorOf     (           const unsigned int maxElems         , const bool adoptElems = true         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager     );
79
      virtual ~BaseRefVectorOf();
80
      bool fAdoptedElems;
81
      TElem** fElemList;
82
  };
83
  template  BaseRefVectorOf::BaseRefVectorOf( const unsigned int maxElems                                        , const bool adoptElems                                        , MemoryManager* const manager) :     fAdoptedElems(adoptElems) {
84
      for (unsigned int index = 0;
85
  index < maxElems;
86
  index++)         fElemList[index] = 0;
87
  }
88
  template  BaseRefVectorOf::~BaseRefVectorOf() {
89
  }
90
  class XMLString {
91
  public:
92
     static bool equals     (           const XMLCh* const str1         , const XMLCh* const str2     );
93
      static void moveChars     (                 XMLCh* const targetStr         , const XMLCh* const srcStr         , const unsigned int count     );
94
  };
95
  inline void XMLString::moveChars( XMLCh* const targetStr                                 , const XMLCh* const srcStr                                 , const unsigned int count) {
96
  }
97
  inline bool XMLString::equals( const XMLCh* const str1                                , const XMLCh* const str2) {
98
      const XMLCh* psz1 = str1;
99
      const XMLCh* psz2 = str2;
100
      if (psz1 == 0 || psz2 == 0) {
101
             return true;
102
     }
103
  }
104
  }
105
  namespace xercesc_2_5 {
106
  class HashPtr : public HashBase {
107
   virtual bool equals(const void *const key1, const void *const key2);
108
  };
109
  template  struct DOMDeepNodeListPoolTableBucketElem : public XMemory {
110
      void* fKey1;
111
      XMLCh* fKey2;
112
      XMLCh* fKey3;
113
  };
114
  template  class DOMDeepNodeListPool {
115
  public:
116
     DOMDeepNodeListPool     (         const XMLSize_t modulus       , const bool adoptElems       , const XMLSize_t initSize = 128     );
117
      TVal* getByKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3);
118
      DOMDeepNodeListPoolTableBucketElem* findBucketElem(const void* const key1, const XMLCh* const key2, const XMLCh* const key3, XMLSize_t& hashVal);
119
      bool fAdoptedElems;
120
      DOMDeepNodeListPoolTableBucketElem** fBucketList;
121
      XMLSize_t fHashModulus;
122
      HashBase* fHash;
123
      TVal** fIdPtrs;
124
      XMLSize_t fIdPtrsCount;
125
      MemoryManager* fMemoryManager;
126
  };
127
  template  DOMDeepNodeListPool::DOMDeepNodeListPool( const XMLSize_t modulus                                               , const bool adoptElems                                               , const XMLSize_t initSize) :   fAdoptedElems(adoptElems)     , fBucketList(0)     , fHash(0)     , fIdPtrs(0) {
128
      fHash = new (fMemoryManager) HashPtr();
129
      fIdPtrs = (TVal**) fMemoryManager->allocate(fIdPtrsCount * sizeof(TVal*));
130
   if (modulus == 0)         throw IllegalArgumentException("./xercesc/dom/impl/bad.c", 38, XMLExcepts::HshTbl_ZeroModulus, fMemoryManager);
131
  }
132
  template  TVal* DOMDeepNodeListPool::getByKey(const void* const key1, const XMLCh* const key2, const XMLCh* const key3) {
133
      XMLSize_t hashVal;
134
      DOMDeepNodeListPoolTableBucketElem* findIt = findBucketElem(key1, key2, key3, hashVal);
135
  }
136
  template  DOMDeepNodeListPoolTableBucketElem* DOMDeepNodeListPool:: findBucketElem(const void* const key1, const XMLCh* const key2, const XMLCh* const key3, XMLSize_t& hashVal) {
137
      if (hashVal > fHashModulus)         throw RuntimeException("./xercesc/dom/impl/bad.c", 64, XMLExcepts::HshTbl_BadHashFromKey, fMemoryManager);
138
      DOMDeepNodeListPoolTableBucketElem* curElem = fBucketList[hashVal];
139
          if (fHash->equals(key1, curElem->fKey1) && (XMLString::equals(key2, curElem->fKey2)) && (XMLString::equals(key3, curElem->fKey3))) {
140
             return curElem;
141
     }
142
  }
143
  class DOMDeepNodeListImpl;
144
  class DOMDocumentImpl: public DOMDocument {
145
      DOMNodeList* getElementsByTagName(const XMLCh * tagname) const;
146
      DOMNodeList* getDeepNodeList(const DOMNode *rootNode, const XMLCh *tagName);
147
      DOMNodeList* getDeepNodeList(const DOMNode *rootNode,                                                  const XMLCh *namespaceURI,                                                  const XMLCh *localName);
148
      DOMDeepNodeListPool* fNodeListPool;
149
  };
150
  }
151
  void * operator new(size_t amt, xercesc_2_5:: DOMDocument *doc);
152
  namespace xercesc_2_5 {
153
  class DOMNodeList {
154
  };
155
  class DOMDeepNodeListImpl: public DOMNodeList {
156
  };
157
  DOMNodeList *DOMDocumentImpl::getElementsByTagName(const XMLCh *tagname) const {
158
      return ((DOMDocumentImpl*)this)->getDeepNodeList(this,tagname);
159
  }
160
  DOMNodeList *DOMDocumentImpl::getDeepNodeList(const DOMNode *rootNode, const XMLCh *tagName) {
161
      if(!fNodeListPool) {
162
         fNodeListPool = new (this) DOMDeepNodeListPool(109, false);
163
     }
164
      DOMNodeList* retList = fNodeListPool->getByKey(rootNode, tagName, 0);
165
  }
166
  DOMNodeList *DOMDocumentImpl::getDeepNodeList(const DOMNode *rootNode,                                                    const XMLCh *namespaceURI,                                                    const XMLCh *localName) {
167
      DOMNodeList* retList = fNodeListPool->getByKey(rootNode, localName, namespaceURI);
168
  }
169
  }
170
 

powered by: WebSVN 2.1.0

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