1 /* { dg-do compile } */
2 /* { dg-options "-O -fwhole-program -fipa-cp" } */
4 typedef float scoord_t;
5 typedef scoord_t sdist_t;
6 typedef sdist_t dist_t;
7 template<typename T> class TRay { };
8 typedef TRay<dist_t> Ray;
10 class RenderContext { };
14 if (--ref_count <= 0) {
18 mutable int ref_count;
20 template<class T> class Ref {
23 if (obj) obj->deref ();
27 class Material : public RefCounted { };
30 virtual ~Surface () { }
32 virtual const IsecInfo *intersect (Ray &ray, RenderContext &context) const;
33 Ref<const Material> material;
35 class LocalSurface : public Surface {
36 virtual BBox bbox () const;
38 BBox LocalSurface::bbox () const { }