diff options
Diffstat (limited to 'xsd/tests/cxx/tree/complex')
-rw-r--r-- | xsd/tests/cxx/tree/complex/ctor/driver.cxx | 53 | ||||
-rw-r--r-- | xsd/tests/cxx/tree/complex/ctor/makefile | 15 | ||||
-rw-r--r-- | xsd/tests/cxx/tree/complex/makefile | 3 |
3 files changed, 42 insertions, 29 deletions
diff --git a/xsd/tests/cxx/tree/complex/ctor/driver.cxx b/xsd/tests/cxx/tree/complex/ctor/driver.cxx index 55044a3..8ea8c87 100644 --- a/xsd/tests/cxx/tree/complex/ctor/driver.cxx +++ b/xsd/tests/cxx/tree/complex/ctor/driver.cxx @@ -1,6 +1,5 @@ // file : tests/cxx/tree/complex/ctor/driver.cxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : Copyright (c) 2006-2010 Code Synthesis Tools CC +// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file // Test generation of varous complex type constructors. @@ -11,6 +10,13 @@ #include "test.hxx" +#ifdef XSD_CXX11 +# include <utility> // std::move +# define XSD_MOVE(x) std::move(x) +#else +# define XSD_MOVE(x) x +#endif + using namespace std; using namespace test; @@ -64,12 +70,12 @@ main () // e_base b1 (1, "foo", e_complex_type ("bar")); - auto_ptr<e_complex_type> c2 (new e_complex_type ("bar")); - e_base b2 (1, "foo", c2); + XSD_AUTO_PTR<e_complex_type> c2 (new e_complex_type ("bar")); + e_base b2 (1, "foo", XSD_MOVE (c2)); - auto_ptr<e_simple_type> s3 (new e_simple_type ("foo")); - auto_ptr<e_complex_type> c3 (new e_complex_type ("bar")); - e_base b3 (1, s3, c3); + XSD_AUTO_PTR<e_simple_type> s3 (new e_simple_type ("foo")); + XSD_AUTO_PTR<e_complex_type> c3 (new e_complex_type ("bar")); + e_base b3 (1, XSD_MOVE (s3), XSD_MOVE (c3)); assert (b1 == b2); assert (b1 == b3); @@ -79,15 +85,20 @@ main () e_derived d1 (1, "foo", e_complex_type ("bar"), true, "baz", e_complex_type ("biz")); - auto_ptr<e_complex_type> c2a (new e_complex_type ("bar")); - auto_ptr<e_complex_type> c2b (new e_complex_type ("biz")); - e_derived d2 (1, "foo", c2a, true, "baz", c2b); - - auto_ptr<e_simple_type> s3a (new e_simple_type ("foo")); - auto_ptr<xml_schema::string> s3b (new xml_schema::string ("baz")); - auto_ptr<e_complex_type> c3a (new e_complex_type ("bar")); - auto_ptr<e_complex_type> c3b (new e_complex_type ("biz")); - e_derived d3 (1, s3a, c3a, true, s3b, c3b); + XSD_AUTO_PTR<e_complex_type> c2a (new e_complex_type ("bar")); + XSD_AUTO_PTR<e_complex_type> c2b (new e_complex_type ("biz")); + e_derived d2 (1, "foo", XSD_MOVE (c2a), true, "baz", XSD_MOVE (c2b)); + + XSD_AUTO_PTR<e_simple_type> s3a (new e_simple_type ("foo")); + XSD_AUTO_PTR<xml_schema::string> s3b (new xml_schema::string ("baz")); + XSD_AUTO_PTR<e_complex_type> c3a (new e_complex_type ("bar")); + XSD_AUTO_PTR<e_complex_type> c3b (new e_complex_type ("biz")); + e_derived d3 (1, + XSD_MOVE (s3a), + XSD_MOVE (c3a), + true, + XSD_MOVE (s3b), + XSD_MOVE (c3b)); assert (d1 == d2); assert (d1 == d3); @@ -99,12 +110,12 @@ main () { f_type f1 (xml_schema::type (), 1, "foo", f_complex_type ("bar")); - auto_ptr<f_complex_type> c2 (new f_complex_type ("bar")); - f_type f2 (1, "foo", c2); + XSD_AUTO_PTR<f_complex_type> c2 (new f_complex_type ("bar")); + f_type f2 (1, "foo", XSD_MOVE (c2)); - auto_ptr<f_simple_type> s3 (new f_simple_type ("foo")); - auto_ptr<f_complex_type> c3 (new f_complex_type ("bar")); - f_type f3 (1, s3, c3); + XSD_AUTO_PTR<f_simple_type> s3 (new f_simple_type ("foo")); + XSD_AUTO_PTR<f_complex_type> c3 (new f_complex_type ("bar")); + f_type f3 (1, XSD_MOVE (s3), XSD_MOVE (c3)); assert (f1 == f2); assert (f1 == f3); diff --git a/xsd/tests/cxx/tree/complex/ctor/makefile b/xsd/tests/cxx/tree/complex/ctor/makefile index 66558f5..ffc82b0 100644 --- a/xsd/tests/cxx/tree/complex/ctor/makefile +++ b/xsd/tests/cxx/tree/complex/ctor/makefile @@ -1,6 +1,5 @@ # file : tests/cxx/tree/complex/ctor/makefile -# author : Boris Kolpackov <boris@codesynthesis.com> -# copyright : Copyright (c) 2006-2010 Code Synthesis Tools CC +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC # license : GNU GPL v2 + exceptions; see accompanying LICENSE file include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make @@ -27,19 +26,19 @@ $(call import,\ # $(driver): $(obj) $(xerces_c.l) -$(obj) $(dep): cpp_options := -I$(src_root)/libxsd +$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd $(obj) $(dep): $(xerces_c.l.cpp-options) genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) gen := $(addprefix $(out_base)/,$(genf)) $(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options := --generate-default-ctor --generate-from-base-ctor \ +$(gen): xsd_options += --generate-default-ctor --generate-from-base-ctor \ --generate-doxygen --generate-polymorphic --polymorphic-type-all \ --generate-comparison $(gen): $(out_root)/xsd/xsd -$(call include-dep,$(dep)) +$(call include-dep,$(dep),$(obj),$(gen)) # Convenience alias for default target. # @@ -76,8 +75,12 @@ endif $(call include,$(bld_root)/cxx/o-e.make) $(call include,$(bld_root)/cxx/cxx-o.make) $(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) +$(call include,$(bld_root)/cxx/standard.make) # cxx_standard +ifdef cxx_standard +$(gen): xsd_options += --std $(cxx_standard) +$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) +endif # Dependencies. # diff --git a/xsd/tests/cxx/tree/complex/makefile b/xsd/tests/cxx/tree/complex/makefile index a0b3294..db6e6a8 100644 --- a/xsd/tests/cxx/tree/complex/makefile +++ b/xsd/tests/cxx/tree/complex/makefile @@ -1,6 +1,5 @@ # file : tests/cxx/tree/complex/makefile -# author : Boris Kolpackov <boris@codesynthesis.com> -# copyright : Copyright (c) 2006-2010 Code Synthesis Tools CC +# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC # license : GNU GPL v2 + exceptions; see accompanying LICENSE file include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make |