Browse Source

Generate valid C++ for variadic functions

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1641/head
Dimitar Dobrev 4 years ago
parent
commit
9a17dbee1b
  1. 4
      src/Generator/Generators/C/CppTypePrinter.cs
  2. 6
      tests/Common/Common.h

4
src/Generator/Generators/C/CppTypePrinter.cs

@ -602,7 +602,9 @@ namespace CppSharp.Generators.C
if (!string.IsNullOrEmpty(@return.Type)) if (!string.IsNullOrEmpty(@return.Type))
@return.NamePrefix.Append(' '); @return.NamePrefix.Append(' ');
@return.Name = @class + name; @return.Name = @class + name;
@return.NameSuffix.Append('(').Append(@params).Append(')').Append(@const).Append(exceptionType); @return.NameSuffix.Append('(').Append(@params)
.Append(function.IsVariadic ? ", ..." : string.Empty).Append(')')
.Append(@const).Append(exceptionType);
return @return; return @return;
} }

6
tests/Common/Common.h

@ -496,6 +496,12 @@ namespace SomeNamespace
protected: protected:
void protectedInlined() {} void protectedInlined() {}
}; };
class AbstractInlines
{
public:
virtual void hasVariadicArgs(int regular, ...) = 0;
};
} }
// Test operator overloads // Test operator overloads

Loading…
Cancel
Save