This fragment needs to depend on StdTraits fragment as it specializes the
template struct traits<> defined there and it could happen that the struct was
not declared before being specialized, resulting in compilation errors in the
generated code.
It doesn't seem to need to depend on stddef.h inclusion, however, so replace
it with the correct dependency instead of keeping both.
PROBLEM:
There is a small ommission in parser.y, which will lead
to syntax errors in cases when non-empty throw declaration is
followed by `override`, `final` or both. E.g. in cases like:
void finalOverriden() throw(std::exception) final override;
SOLUTION:
- Add a `THROW LPAREN parms RPAREN virt_specifier_seq` to
exception_specification in Source/CParse/parser.y
- Add several methods in test-suite/cpp11_final_override.i
to verify the fix works.
Fix Coverity issue reported for SWIG_Python_ConvertFunctionPtr:
"Execution cannot reach this statement: *ptr = vptr;"
Because if 'ty' is null, then desc becomes null and we return with
SWIG_ERROR. So 'ty' cannot be null at 'if (ty)'.
Fix Coverity issue reported for SWIG_Python_FixMethods:
"buffer_size: Calling strncpy with a source string whose length
(10 chars) is greater than or equal to the size argument (10)
will fail to null-terminate buff."
The issue is only reported for the "swig_ptr: " line, but for
consistency we replace both occurrences of strncpy with memcpy.
* tamuratak-fix_std_unordred:
Move cpp11_hash_tables test to Ruby makefile until other languages work
Cosmetic changes in C++11 std_unordered support files
[ruby] add tests for unordered containers.
[ruby] support for std unordered containers.
use equal_range instead of upper_bound. unordered containers do not have the upper_bound method.
fix a %fragment argument.
use %std_container_methods_without_reverse_iterators
fix Lib/std/std unordered containers
Adding a constructor that accepts IEnumerable<T> avoids the boxing and unboxing overhead of the original constructor, when the type parameter is a value type. This also allows passing IList<T>, which does not implement ICollection (ironically the generated type implements IList<T>).
Kept the original constructor for backward compatibility, but replaced ICollection with IEnumerable for added flexibility.
- Test python 3.6 instead of 3.5 under visual c++
- Speed up using 2 make jobs to use both available CPUs
- Test cygwin 32 bit and 64 bit C++11 (python only)
- Test msys2/mingw 32 bit and 64 bit C++11 (python only)
- Remove python 2.7.9 vc++ workaround as we're testing 2.7.10 now