Renamed template_double_brackets -> cpp0x_template_double_brackets.

Added CPP0X_TEST_CASES and CPP0X_TEST_BROKEN in common.mk.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11248 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Matevz Jekovec 2009-06-06 16:25:24 +00:00
commit 1af6d8a1b0
3 changed files with 12 additions and 4 deletions

View file

@ -82,8 +82,8 @@ CPP_TEST_BROKEN += \
nested_struct \
overload_complicated \
template_default_pointer \
template_double_brackets_broke \
template_expr
template_expr \
$(CPP0X_TEST_BROKEN)
# Broken C test cases. (Can be run individually using make testcase.ctest.)
@ -312,7 +312,6 @@ CPP_TEST_CASES += \
template_default_inherit \
template_default_qualify \
template_default_vw \
template_double_brackets \
template_enum \
template_enum_ns_inherit \
template_enum_typedef \
@ -396,7 +395,16 @@ CPP_TEST_CASES += \
virtual_destructor \
virtual_poly \
voidtest \
wrapmacro
wrapmacro \
$(CPP0X_TEST_CASES)
# C++0x test cases.
CPP0X_TEST_CASES = \
cpp0x_template_double_brackets
# Broken C++0x test cases.
CPP0X_TEST_BROKEN = \
cpp0x_template_double_brackets_broken
#
# Put all the heavy STD/STL cases here, where they can be skipped if needed

View file

@ -0,0 +1,26 @@
%module foo
#include <map>
std::map<int,std::map<int, double>> m;
std::map<int,std::map<int, double> > n;
std::map< std::map<(6>>1), double>, double> o;
//std::map< std::map<6>>1, double>, double> p; // fails as it should
class ABC {
public:
int a;
int operator>>(ABC &);
int operator<<(ABC &);
};
template<class T>
class ABC2 {
public:
int a;
template<typename U>
int operator>>(ABC &, U);
template<typename U>
int operator<<(ABC &, U);
};

View file

@ -0,0 +1,26 @@
%module foo
#include <map>
std::map<int,std::map<int, double>> m;
std::map<int,std::map<int, double> > n;
std::map< std::map<(6>>1), double>, double> o;
std::map< std::map<6>>1, double>, double> p; // fails as it should
class ABC {
public:
int a;
int operator>>(ABC &);
int operator<<(ABC &);
};
template<class T>
class ABC2 {
public:
int a;
template<typename U>
int operator>>(ABC &, U);
template<typename U>
int operator<<(ABC &, U);
};