diff options
| author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 | 
| commit | 372a0e99c2f61543d9e14d9933b59d9d1f4cb26e (patch) | |
| tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /libcutl/tests/compiler/traversal | |
| parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
| parent | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff) | |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'libcutl/tests/compiler/traversal')
| -rw-r--r-- | libcutl/tests/compiler/traversal/driver.cxx | 139 | ||||
| -rw-r--r-- | libcutl/tests/compiler/traversal/makefile | 70 | ||||
| -rw-r--r-- | libcutl/tests/compiler/traversal/output.std | 16 | 
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 | 
