| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Efficiency fixes and tidy up from previous commit.
Add test case for constructing from differently sized containers.
Issue #2478
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix seg fault when instantiating templates with parameters that are function
parameters containing templates, such as:
%template(MyC) C<int(std::vector<int>)>;
Closes #983
|
|
|
|
|
|
| |
Complete support for C++11 variadic function templates. Support was previously limited
to just one template parameter. Now zero or more template parameters are supported
in the %template instantiation.
|
| |
|
|\
| |
| |
| |
| |
| | |
* OCaml-rename_rstrip_encoder-using2-runtime-tests:
Complete copy of testcase from Python
[OCaml] Runtime tests for rename_rstrip_encoder and using2
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Add runtime tests for rename_rstrip_encoder and using2.
They are based on the runtime tests that already exist for other
languages.
|
|\ \
| | |
| | | |
[Python] Eliminate sprintf in generated code
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Newer clang versions emit warnings in generated code:
```
warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations]
```
|
| | |
| | |
| | |
| | | |
Waiting for URL redirects to be put in place.
|
| | |
| | |
| | |
| | | |
Test less conventional function ptr parameters
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
that are function pointers and member function pointers.
template <typename... V> struct VariadicParms {
void ParmsFuncPtrPtr(int (*)(V*...)) {}
void ParmsFuncPtrPtrRef(int (*)(V*&...)) {}
void ParmsFuncPtrPtrRValueRef(int (*)(V*&&...)) {}
void ParmsFuncPtrRef(int (*)(V&...)) {}
void ParmsFuncPtrRValueRef(int (*)(V&&...)) {}
void ParmsMemFuncPtrPtr(int (KlassMemFuncs::*)(V*...)) {}
void ParmsMemFuncPtrPtrRef(int (KlassMemFuncs::*)(V*&...)) {}
void ParmsMemFuncPtrPtrRValueRef(int (KlassMemFuncs::*)(V*&&...)) {}
void ParmsMemFuncPtrRef(int (KlassMemFuncs::*)(V&...)) {}
void ParmsMemFuncPtrRValueRef(int (KlassMemFuncs::*)(V&&...)) {}
};
%template(VariadicParms0) VariadicParms<>;
%template(VariadicParms1) VariadicParms<A>;
Also in various other places such as within noexcept specifiers:
template<typename T, typename... Args>
void emplace(Args &&... args) noexcept(
std::is_nothrow_constructible<T, Args &&...>::value);
Issue #1863
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
containing parameter pack arguments that are function pointers.
template <typename... V> struct VariadicParms {
void ParmsFuncPtrVal(int (*)(V...)) {}
};
%template(VariadicParms0) VariadicParms<>;
%template(VariadicParms1) VariadicParms<A>;
|
| | |
| | |
| | |
| | |
| | |
| | | |
that are function pointers
Issue #1863
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove warning SWIGWARN_CPP11_VARIADIC_TEMPLATE which was issued if more
than one argument was used for a variadic template.
SwigType enhancement: 'v.' now represents a variadic argument.
|
| | |
| | |
| | |
| | |
| | | |
Break up functionality in Swig_cparse_template_parms_expand() to make it
more readable / maintainable.
|
|/ /
| |
| |
| |
| | |
Move code from %template parsing in parser.y into new function
Swig_cparse_template_parms_expand
|
| |
| |
| |
| |
| |
| |
| | |
Fix syntax error using Doxygen member groups syntax, "///*}", when used after
final struct/class member.
Issue #1636
|
|/
|
|
|
|
|
| |
Fix garbled Doxygen post comments in parameter lists.
Fix syntax error parsing a trailing Doxygen comment in parameter lists.
Closes #2023
|
|
|
|
|
|
|
| |
It is unconventional to have a doxygen comment after an enum item. It is
attached to the previous, that is, the enum item to match Doxygen behaviour.
Closes #1609
|
|
|
|
| |
Closes #1715
|
| |
|
|
|
|
|
| |
Copy CHANGES.current from release-4.1.1 branch into CHANGES.
Remove items released in 4.1.1 from master CHANGES.current.
|
|
|
|
|
|
| |
Technical correction on how template parameters are stored in a Parm*.
Doesn't actually make any change, but they are now displayed correctly
when using debug options such as -debug-module.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, specifying more than one simple template template parameter
resulted in a parse error. Now multiple template template parameters are
working including instantiation with %template. Example:
template <template<template<class> class, class> class Op, template<class> class X, class Y>
class C { ... };
Closes #624
Closes #1021
|
| |
|
|\
| |
| |
| |
| | |
* fixes/push-pop-mismatch:
Fix push/pop mismatch
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Without this, perlhead.swg does `#pragma GCC diagnostic pop`
if `__GNUC__ >= 10` - without any prior `#pragma GCC diagnostic push`.
There's also a mismatch between the conditions that trigger
`#pragma GCC diagnostic ignored` (where the `push` should be)
and the attempt to `#pragma GCC diagnostic pop`.
|
| |
| |
| |
| | |
Fixes testcase template_expr which was resulting in OCaml syntax errors.
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
| |
ccache.c:738:18: runtime error: null pointer passed as argument 1, which is declared to never be null
Fixes stderr redirect in testname CCACHE_CPP2, when the CCACHE_CPP2
environment variable is defined.
mdfour.c:91:20: runtime error: left shift of 139 by 24 places cannot be represented in type 'int'
Looks like this brings some stability to the md4 hash calculation.
Closes #2449
|
|
|
|
|
|
| |
From Visual Studio 2022:
warning C4996: 'std::complex<int>::complex': warning STL4037: The effect of instantiating the template std::complex for any type other than float, double, or long double is unspecified. You can define _SILENCE_NONFLOATING_COMPLEX_DEPRECATION_WARNING to suppress this warning.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
decltype now accepts C++ expressions instead of just an ID, such as:
int i,j;
... decltype(i+j) ...
... decltype(&i) ...
These result in a warning for non-trivial expressions which SWIG cannot evaluate:
Warning 344: Unable to deduce decltype for 'i+j'.
See 'Type Inference' in CPlusPlus.html for workarounds.
Issue #1589
Issue #1590
|
|
|
|
| |
Closes #961
|
|
|
|
|
|
|
| |
These cases don't trigger ubsan warnings and seem to work locally
for me, but CI was failing on a number of builds.
See #2447
|
|
|
|
|
|
|
| |
Fix undefined behaviour in swig's parser when handling default parameter
expressions containing method calls.
Fixes #2447
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* rtests2:
more r tests
more r tests
added testcase pointer_reference
[PHP] Update docs for removal of -noproxy in SWIG 4.1.0
Conflicts:
CHANGES.current
|
| | |
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | | |
Closes #2419
|
| |/ |
|