mirror of https://github.com/swig/swig
C++11 test fixes for Visual Studio 2017
This commit is contained in:
parent
0303e821ef
commit
bf9065395a
|
@ -19,17 +19,17 @@ template<typename T> struct Y {
|
|||
typedef T2 another_type;
|
||||
};
|
||||
value_type create1() const { return T(); }
|
||||
Y::value_type create2() const { return T(); }
|
||||
Y<T>::value_type create3() const { return T(); }
|
||||
YY::value_type create4() const { return T(); }
|
||||
Y<T>::YY::value_type create5() const { return T(); }
|
||||
typename Y::value_type create2() const { return T(); }
|
||||
typename Y<T>::value_type create3() const { return T(); }
|
||||
typename YY::value_type create4() const { return T(); }
|
||||
typename Y<T>::YY::value_type create5() const { return T(); }
|
||||
Y<T>::YYY<T>::value_type create6() const { return T(); }
|
||||
typename Y<T>::template ZZZ<T>::another_type create7() const { return T(); }
|
||||
|
||||
// With global scope prefix
|
||||
::Y<T>::value_type create13() const { return T(); }
|
||||
typename ::Y<T>::value_type create13() const { return T(); }
|
||||
|
||||
::Y<T>::YY::value_type create15() const { return T(); }
|
||||
typename ::Y<T>::YY::value_type create15() const { return T(); }
|
||||
::Y<T>::YYY<T>::value_type create16() const { return T(); }
|
||||
typename ::Y<T>::template ZZZ<T>::another_type create17() const { return T(); }
|
||||
};
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
struct A {
|
||||
int member;
|
||||
};
|
||||
const int align1 = alignof(A::member);
|
||||
const int align1 = alignof(int);
|
||||
const int align2 = alignof(int *);
|
||||
%}
|
||||
|
||||
%{
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
|
||||
%inline %{
|
||||
|
||||
template<typename T> struct Temper {
|
||||
template<typename T> class Temper {
|
||||
public:
|
||||
T val;
|
||||
};
|
||||
|
||||
|
@ -18,14 +19,20 @@ public:
|
|||
int memberFunction() { return 100; }
|
||||
};
|
||||
|
||||
class B {
|
||||
public:
|
||||
short member;
|
||||
short memberFunction() { return 100; }
|
||||
};
|
||||
|
||||
template class Temper<A>;
|
||||
extern template class Temper<A>;
|
||||
extern template class Temper<B>;
|
||||
|
||||
template class Temper<A*>;
|
||||
extern template class Temper<A*>;
|
||||
extern template class Temper<B*>;
|
||||
|
||||
template class Temper<int>;
|
||||
extern template class Temper<int>;
|
||||
extern template class Temper<short>;
|
||||
%}
|
||||
|
||||
%template(TemperInt) Temper<int>;
|
||||
|
|
Loading…
Reference in New Issue