diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/nest15.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/nest15.C | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest15.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest15.C new file mode 100644 index 000000000..5d3a0b476 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/nest15.C @@ -0,0 +1,37 @@ +// { dg-do assemble } +// GROUPS passed nested-classes +class BDDHeap { +public: + BDDHeap(); + BDDHeap(const BDDHeap&); + + class Page { + public: + int i; + }; + struct Pointer { + Page *page; + unsigned index; + + Pointer(); + Pointer(const BDDHeap& heap); + }; + + struct Half { + struct { + Page *top; + Page **tail; + } inuse; + + Half(); + }; + + Half half[2]; + unsigned halfspace; +}; + +inline +BDDHeap::Pointer::Pointer(const BDDHeap& heap): +page(heap.half[heap.halfspace].inuse.top), +index(0) +{ } |