Viewing file: new18.C (1.22 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// { dg-do compile } // { dg-options "-O2 -fstrict-aliasing -Wno-return-type" }
// This caused an ICE during placement new.
namespace Pooma { typedef int Context_t; namespace Arch { } inline Context_t context() { } inline int contexts() { } } template<class DomT, class T, class NewDom1T> struct DomainTraitsScalar { }; template<class T> struct DomainTraits : public DomainTraitsScalar<T, T, T> { }; template<int Dim> class Grid; template<class DT> class DomainBase { }; template<int Dim, class DT> class Domain : public DomainBase<DT> { }; #include <vector> template<> class Grid<1> : public Domain<1, DomainTraits<Grid<1> > > { }; namespace Pooma { class PatchSizeSyncer { typedef Grid<1> Grid_t; PatchSizeSyncer(int contextKey, Grid_t &localGrid); int myContext_m; int numContexts_m; int localKey_m; Grid_t localGrid_m; typedef std::pair<int,Grid_t *> Elem_t; std::vector<Elem_t> gridList_m; }; } namespace Pooma { PatchSizeSyncer::PatchSizeSyncer(int contextKey, Grid_t &localGrid) : myContext_m(Pooma::context()), numContexts_m(Pooma::contexts()), localKey_m(contextKey), localGrid_m(localGrid) { if (myContext_m == 0) gridList_m.reserve(numContexts_m); } }
|