mirror of https://github.com/swig/swig
Restore testing template_expr testcase
Problems handling < and > in template parameters are now fixed. Remove illegal C++ code (template typedefs) - replace with a function using same template.
This commit is contained in:
parent
ca5c68e544
commit
e0904f44eb
|
@ -90,7 +90,6 @@ CPP_TEST_BROKEN += \
|
|||
nested_private \
|
||||
template_default_pointer \
|
||||
template_private_assignment \
|
||||
template_expr \
|
||||
$(CPP11_TEST_BROKEN) \
|
||||
$(CPP14_TEST_BROKEN) \
|
||||
$(CPP17_TEST_BROKEN) \
|
||||
|
@ -459,6 +458,7 @@ CPP_TEST_CASES += \
|
|||
template_enum_ns_inherit \
|
||||
template_enum_typedef \
|
||||
template_explicit \
|
||||
template_expr \
|
||||
template_extend1 \
|
||||
template_extend2 \
|
||||
template_extend_overload \
|
||||
|
|
|
@ -2,8 +2,11 @@
|
|||
|
||||
// bug #925555
|
||||
%inline %{
|
||||
struct ThisType {};
|
||||
template<int _size, int _stride, class __elementTypeSequence, class __dataPtrType>
|
||||
class vctFixedLengthConstSequenceBase {};
|
||||
|
||||
template<int __stride, class __elementTypeSequence,
|
||||
template<int _size, int __stride, class __elementTypeSequence,
|
||||
class __dataPtrType, class __elementType>
|
||||
inline const ThisType &
|
||||
ConcatenationOf(const vctFixedLengthConstSequenceBase<_size - 1,
|
||||
|
@ -30,9 +33,15 @@ class X {};
|
|||
// bug #646275
|
||||
|
||||
%inline %{
|
||||
struct Ty {};
|
||||
template<typename Type, short a> struct Test {};
|
||||
template<int rank, typename X, typename Type> struct CondRetType {
|
||||
typedef Type TestRm1;
|
||||
};
|
||||
|
||||
template<typename Type, short Rank>
|
||||
typedef typename CondRetType< Rank!=1,
|
||||
Test<Type,Rank-1>, Type>::TestRm1 TestRm1;
|
||||
void Func(typename CondRetType< Rank!=1,
|
||||
Test<Type,Rank-1>, Type>::TestRm1) {}
|
||||
%}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue