aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile_Eolian_Cxx.am
diff options
context:
space:
mode:
authorVitor Sousa <vitorsousasilva@gmail.com>2014-12-23 17:40:11 -0200
committerVitor Sousa <vitorsousasilva@gmail.com>2015-01-05 15:52:27 -0200
commit0685885c2a488c41f118118de8506f8d286e3eea (patch)
tree8bfdf66654d27e7481ab73b81b53ec857fb4ef95 /src/Makefile_Eolian_Cxx.am
parenteolian_cxx: Fix "dreaded diamond" inheritance problem for C++ wrappers (diff)
downloadefl-0685885c2a488c41f118118de8506f8d286e3eea.tar.gz
eolian_cxx: Add implicit conversion of the returned pointer of C++ wrappers
Overloaded address-of operator for C++ Eolian wrappers for implicit converting to any ancestor pointer type when getting the object memory address. Added new grammars to aid the creation of the pointer wrappers responsible of doing the implicit conversions. Added a unit test which checks the address-of overload for arbitrary classes. Added new .eo files to be used in it.
Diffstat (limited to 'src/Makefile_Eolian_Cxx.am')
-rw-r--r--src/Makefile_Eolian_Cxx.am26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/Makefile_Eolian_Cxx.am b/src/Makefile_Eolian_Cxx.am
index ebedc3dfd6..88f1186eaa 100644
--- a/src/Makefile_Eolian_Cxx.am
+++ b/src/Makefile_Eolian_Cxx.am
@@ -55,6 +55,9 @@ bin_eolian_cxx_eolian_cxx_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
if EFL_ENABLE_TESTS
+EOLIAN_FLAGS += \
+ -I$(srcdir)
+
check_PROGRAMS += tests/eolian_cxx/eolian_cxx_suite
TESTS += tests/eolian_cxx/eolian_cxx_suite
@@ -62,15 +65,29 @@ tests_eolian_cxx_eolian_cxx_suite_SOURCES = \
tests/eolian_cxx/eolian_cxx_suite.cc \
tests/eolian_cxx/eolian_cxx_test_parse.cc \
tests/eolian_cxx/callback.c \
+tests/eolian_cxx/a.c \
+tests/eolian_cxx/b.c \
+tests/eolian_cxx/c.c \
+tests/eolian_cxx/d.c \
tests/eolian_cxx/eolian_cxx_test_callback.cc \
+tests/eolian_cxx/eolian_cxx_test_address_of.cc \
tests/eolian_cxx/eolian_cxx_test_wrapper.cc \
tests/eolian_cxx/eolian_cxx_test_generate.cc
tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-eolian_cxx_test_callback.$(OBJEXT): tests/eolian_cxx/callback.eo.hh
+tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-eolian_cxx_test_address_of.$(OBJEXT): tests/eolian_cxx/a.eo.hh tests/eolian_cxx/b.eo.hh tests/eolian_cxx/c.eo.hh tests/eolian_cxx/d.eo.hh
tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-callback.$(OBJEXT): tests/eolian_cxx/callback.eo.c tests/eolian_cxx/callback.eo.h
+tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-a.$(OBJEXT): tests/eolian_cxx/a.eo.c tests/eolian_cxx/a.eo.h
+tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-b.$(OBJEXT): tests/eolian_cxx/b.eo.c tests/eolian_cxx/b.eo.h
+tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-c.$(OBJEXT): tests/eolian_cxx/c.eo.c tests/eolian_cxx/c.eo.h
+tests/eolian_cxx/tests_eolian_cxx_eolian_cxx_suite-d.$(OBJEXT): tests/eolian_cxx/d.eo.c tests/eolian_cxx/d.eo.h
-CLEANFILES += tests/eolian_cxx/callback.eo.hh tests/eolian_cxx/callback.eo.c tests/eolian_cxx/callback.eo.h
+CLEANFILES += tests/eolian_cxx/callback.eo.hh tests/eolian_cxx/callback.eo.c tests/eolian_cxx/callback.eo.h \
+tests/eolian_cxx/a.eo.hh tests/eolian_cxx/a.eo.c tests/eolian_cxx/a.eo.h \
+tests/eolian_cxx/b.eo.hh tests/eolian_cxx/b.eo.c tests/eolian_cxx/b.eo.h \
+tests/eolian_cxx/c.eo.hh tests/eolian_cxx/c.eo.c tests/eolian_cxx/c.eo.h \
+tests/eolian_cxx/d.eo.hh tests/eolian_cxx/d.eo.c tests/eolian_cxx/d.eo.h
tests_eolian_cxx_eolian_cxx_suite_CXXFLAGS = \
-I$(top_builddir)/src/lib/efl \
@@ -93,7 +110,12 @@ tests_eolian_cxx_eolian_cxx_suite_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
endif
-EXTRA_DIST += tests/eolian_cxx/callback.eo
+EXTRA_DIST += tests/eolian_cxx/callback.eo \
+tests/eolian_cxx/a.eo \
+tests/eolian_cxx/b.eo \
+tests/eolian_cxx/c.eo \
+tests/eolian_cxx/d.eo
+
include Makefile_Eolian_Cxx_Helper.am
endif