Fix strides when creating Python buffer
Explicitly set strides with negative number in test
When requesting Fortan order, don't return C order.
BUG: Stricter checks for gufunc signatures

* Arguments, both input and output, must have at least as many
  dimensions as the corresponding number of core dimensions. In
  previous versions, 1's were prepended to the shape as needed.
* Core dimensions with same labels must have exactly matching
  sizes. In previous versions, core dimensions of size 1 would
  broadcast against other core dimensions with the same label.
* All core dimensions must have their size specified by a passed
  in input or output argument. In previous versions, core
  dimensions in an output argument that were not specified in an
  input argument, and whose size could not be inferred from a
  passed in output argument, would have their size set to 1.
TST: Stricter checks for gufunc signatures

Added euclidean_pdist to umath/umath_tests.c.src.

Modified tests to reflect new, stricter gufunc signature behavior.
BUG: fix undefined ldexpl and frexpl with msvc

The functions are macros in msvc which we undefine and redeclare in
npy_math. Since we now generate the ldexpl and frexpl ufuncs in gh-4852
this was broken by the extra logic for them in npy_config.h
BUG: don't set invalid flag in cbrt fallback

cbrt does not set the invalid flag on nan input as all inputs are valid.
Fix the fallback to behave the same.
Add additional testing
BUG: copy inherited masks in MaskedArray.__array_finalize__

Previously, operations which created a new masked array from an old
masked array -- e.g., np.empty_like -- would tend to result in the new
and old arrays sharing the same .mask attribute. This leads to
horrible brokenness in which writes to one array affect the other. In
particular this was responsible for part of the brokenness that
@jenshnielsen reported in gh-5184 in which np.gradient on masked
arrays would modify the original array's mask.

This fixes the worst part of the issues addressed in gh-3404, though
there's still an argument that we ought to deprecate the mask-copying
behaviour entirely so that empty_like returns an array with an empty
mask. That can wait until we find someone who cares though.

I also applied a small speedup to np.gradient (avoiding one copy);
previously this inefficiency was masking (heh) some of the problems
with masked arrays, so removing it is both an optimization and makes
it easier to test that things are working now.
DOC: Stricter checks for gufunc signatures

Documented the the new behavior in c-api.generalized-ufuncs.rst.

Added PyUFunc_FromFuncAndDataAndSignature to c-api.ufunc.rst.
BUG: Use 'll' as the default length specifier for long long.

The previous default was 'L', which seems gcc specific, whereas
'll' is the now recognized standard and is also accepted by gcc.

Closes #5027.
Merge pull request #5203 from njsmith/master

BUG: copy inherited masks in MaskedArray.__array_finalize__
Merge pull request #5207 from juliantaylor/msvc-fix

MSVC fixes
Merge pull request #5212 from charris/fix-long-long-fmt

BUG: Use 'll' as the default length specifier for long long.
BUG: fix build error with MSVC 2013 caused by C99 complex support

closes gh-4896
Merge pull request #5204 from RobberPhex/master

fixed #4896 (fails to build with MSVC 2013)
BUG: Make PyArray_PutTo respect writeable flag.

Closes #4465.
TST: Add some tests for ndarray.put.
BUG: fix crash when using arange on datetime without dtype set
Merge pull request #5225 from juliantaylor/datetime-arange-crash

BUG: fix crash when using arange on datetime without dtype set