diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:11 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:11 +0100 |
commit | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (patch) | |
tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /libcutl/tests/compiler/traversal | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | aad5ad9bf0c02aa4e79bc6b7d6c934612fff4026 (diff) |
Update upstream source from tag 'upstream/4.2.0'
Update to upstream version '4.2.0'
with Debian dir 1b38df7bbcf313223de3c50107ac0255090fe647
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 |