This is the (incomplemete) log produced by svnmerge.py: Merged revisions 10405-10409,10420-10422,10426,10438,10445,10451,10454-10465,10467,10473-10475,10485,10488-10489,10493-10495,10497,10509-10510,10513-10514,10517,10520,10525,10528-10529,10533-10535,10554-10557,10570,10573,10593,10614,10666-10669,10673,10678,10687,10690,10704-10706,10731,10744,10750-10752,10755,10759,10770,10775-10776,10813,10819 via svnmerge from https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-bhy git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10834 626c5289-ae23-0410-ae9c-e8d60b6d4f22
69 lines
1.2 KiB
OpenEdge ABL
69 lines
1.2 KiB
OpenEdge ABL
%module name_warnings
|
|
/*
|
|
This test should produce no warnings at all.
|
|
|
|
It just show the cases where swig was showing unintended warnings
|
|
before.
|
|
|
|
Right now the test includes some cases for python, java and csharp.
|
|
|
|
*/
|
|
|
|
/* activate all the name warnings */
|
|
%warnfilter(+SWIGWARN_PARSE_KEYWORD,+SWIGWARN_PARSE_BUILTIN_NAME,-SWIGWARN_TYPE_ABSTRACT);
|
|
|
|
%{
|
|
#ifdef max
|
|
#undef max
|
|
#endif
|
|
%}
|
|
|
|
class string; // csharp keyword
|
|
namespace std
|
|
{
|
|
template <class T>
|
|
class complex;
|
|
}
|
|
|
|
%inline
|
|
{
|
|
class complex; // python built-in
|
|
|
|
typedef complex None; // python built-in
|
|
|
|
struct A
|
|
{
|
|
typedef complex None;
|
|
|
|
A* clone(int) { return NULL; }
|
|
|
|
virtual ~A() {}
|
|
virtual int func() = 0;
|
|
private:
|
|
typedef complex False;
|
|
};
|
|
|
|
template <class T>
|
|
T max (T a, T b) { // python 'max' built-in
|
|
return a > b ? a : b;
|
|
}
|
|
|
|
struct B : A
|
|
{
|
|
B() {}
|
|
};
|
|
|
|
|
|
}
|
|
|
|
%template(max_i) max<int>;
|
|
|
|
%inline {
|
|
/* silently rename the parameter names in csharp/java */
|
|
#ifdef SWIGR
|
|
double foo(double inparam, double out) { return 1.0; }
|
|
#else
|
|
double foo(double abstract, double out) { return 1.0; }
|
|
#endif
|
|
double bar(double native, bool boolean) { return 1.0; }
|
|
}
|