summaryrefslogtreecommitdiff
path: root/libcutl/tests/compiler/traversal
diff options
context:
space:
mode:
Diffstat (limited to 'libcutl/tests/compiler/traversal')
-rw-r--r--libcutl/tests/compiler/traversal/driver.cxx139
-rw-r--r--libcutl/tests/compiler/traversal/makefile70
-rw-r--r--libcutl/tests/compiler/traversal/output.std16
3 files changed, 0 insertions, 225 deletions
diff --git a/libcutl/tests/compiler/traversal/driver.cxx b/libcutl/tests/compiler/traversal/driver.cxx
deleted file mode 100644
index b1fea74..0000000
--- a/libcutl/tests/compiler/traversal/driver.cxx
+++ /dev/null
@@ -1,139 +0,0 @@
-// file : tests/compiler/traversal/driver.cxx
-// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
-// license : MIT; see accompanying LICENSE file
-
-#include <vector>
-#include <iostream>
-
-#include <cutl/shared-ptr.hxx>
-
-#include <cutl/compiler/type-info.hxx>
-#include <cutl/compiler/traversal.hxx>
-
-using namespace std;
-using namespace cutl;
-
-// Data types.
-//
-struct base
-{
- virtual ~base () {}
-};
-
-struct derived1: base {};
-struct derived2: base {};
-
-typedef vector<shared_ptr<base> > objects;
-
-struct init
-{
- init ()
- {
- using compiler::type_info;
-
- {
- type_info ti (typeid (base));
- insert (ti);
- }
-
- {
- type_info ti (typeid (derived1));
- ti.add_base (typeid (base));
- insert (ti);
- }
-
- {
- type_info ti (typeid (derived2));
- ti.add_base (typeid (base));
- insert (ti);
- }
- }
-} init_;
-
-// Traversers.
-//
-template <typename X>
-struct traverser: compiler::traverser_impl<X, base>,
- virtual compiler::dispatcher<base>
-{
- void
- add_traverser (compiler::traverser_map<base>& m)
- {
- compiler::dispatcher<base>::traverser (m);
- }
-};
-
-typedef traverser<base> base_trav;
-typedef traverser<derived1> derived1_trav;
-typedef traverser<derived2> derived2_trav;
-
-struct base_impl: base_trav
-{
- virtual void
- traverse (type&)
- {
- cout << "base_impl: base" << endl;
- }
-};
-
-struct derived1_impl: derived1_trav
-{
- virtual void
- traverse (type&)
- {
- cout << "derived1_impl: derived1" << endl;
- }
-};
-
-struct combined_impl: derived1_trav, derived2_trav
-{
- virtual void
- traverse (derived1&)
- {
- cout << "combined_impl: derived1" << endl;
- }
-
- virtual void
- traverse (derived2&)
- {
- cout << "combined_impl: derived2" << endl;
- }
-};
-
-int
-main ()
-{
- objects o;
- o.push_back (shared_ptr<base> (new (shared) base));
- o.push_back (shared_ptr<base> (new (shared) derived1));
- o.push_back (shared_ptr<base> (new (shared) derived2));
-
- base_impl base;
- derived1_impl derived1;
- combined_impl combined;
-
- for (objects::iterator i (o.begin ()); i != o.end (); ++i)
- base.dispatch (**i);
-
- cout << endl;
-
- for (objects::iterator i (o.begin ()); i != o.end (); ++i)
- derived1.dispatch (**i);
-
- cout << endl;
-
- for (objects::iterator i (o.begin ()); i != o.end (); ++i)
- combined.dispatch (**i);
-
- cout << endl;
-
- base.add_traverser (derived1);
- for (objects::iterator i (o.begin ()); i != o.end (); ++i)
- base.dispatch (**i);
-
- cout << endl;
-
- derived1.add_traverser (combined);
- for (objects::iterator i (o.begin ()); i != o.end (); ++i)
- derived1.dispatch (**i);
-}
diff --git a/libcutl/tests/compiler/traversal/makefile b/libcutl/tests/compiler/traversal/makefile
deleted file mode 100644
index f1c0fcf..0000000
--- a/libcutl/tests/compiler/traversal/makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# file : tests/compiler/traversal/makefile
-# copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
-# license : MIT; see accompanying LICENSE file
-
-include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make
-
-cxx_tun := driver.cxx
-
-#
-#
-cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o))
-cxx_od := $(cxx_obj:.o=.o.d)
-
-cutl.l := $(out_root)/cutl/cutl.l
-cutl.l.cpp-options := $(out_root)/cutl/cutl.l.cpp-options
-
-driver := $(out_base)/driver
-test := $(out_base)/.test
-clean := $(out_base)/.clean
-
-# Build.
-#
-$(driver): $(cxx_obj) $(cutl.l)
-$(cxx_obj) $(cxx_od): $(cutl.l.cpp-options)
-
-
-$(call include-dep,$(cxx_od))
-
-
-# Alias for default target.
-#
-$(out_base)/: $(driver)
-
-
-# Test.
-#
-$(test): driver := $(driver)
-$(test): $(driver) $(src_base)/output.std
- $(call message,test $$1,$$1 | diff -u $(src_base)/output.std -,$(driver))
-
-
-# Clean.
-#
-$(clean): \
- $(driver).o.clean \
- $(addsuffix .cxx.clean,$(cxx_obj)) \
- $(addsuffix .cxx.clean,$(cxx_od))
-
-
-# Generated .gitignore.
-#
-ifeq ($(out_base),$(src_base))
-$(driver): | $(out_base)/.gitignore
-
-$(out_base)/.gitignore: files := driver
-$(clean): $(out_base)/.gitignore.clean
-
-$(call include,$(bld_root)/git/gitignore.make)
-endif
-
-
-# How to.
-#
-$(call include,$(bld_root)/cxx/o-e.make)
-$(call include,$(bld_root)/cxx/cxx-o.make)
-$(call include,$(bld_root)/cxx/cxx-d.make)
-
-# Dependencies.
-#
-$(call import,$(src_root)/cutl/makefile)
diff --git a/libcutl/tests/compiler/traversal/output.std b/libcutl/tests/compiler/traversal/output.std
deleted file mode 100644
index 095739c..0000000
--- a/libcutl/tests/compiler/traversal/output.std
+++ /dev/null
@@ -1,16 +0,0 @@
-base_impl: base
-base_impl: base
-base_impl: base
-
-derived1_impl: derived1
-
-combined_impl: derived1
-combined_impl: derived2
-
-base_impl: base
-derived1_impl: derived1
-base_impl: base
-
-derived1_impl: derived1
-combined_impl: derived1
-combined_impl: derived2