FEAT: add a try_output_compile in numpy.distutils.
FEAT: add check_gcc_function_attribute check.
FEAT: add check to ensure compilation without warning for a piece of code.
ENH: don't use check_func anymore for check_compile_without_warning.
BUG: fix check_gcc_function_attribute when attribute is actually supported.
fix endianness detection with clang on osx 10.9
ENH: use pragma instead of generic warning when detecting for function attributes.
FEAT: add a check_gcc_variable_attribute function in config command.
REF: remove obsolete code.
Merge pull request #4842 from cournape/fix_intrinsics_detection

fix unknown attribute warnings under clang
MAINT: npy_a(exp,log,sqrt,fabs) don't really exist.
fall back to the cpu branch if no endianness defines are found
BUG: add missing elementsize alignment check for simd reductions

e.g. doubles are only aligned to 4 bytes on i386 so one cannot peel them
to 16 byte alignment.
Closes gh-4853
reorder endianness checks
MAINT: Add frexp and ldexp to npymath and generate their ufuncs
Merge pull request #4854 from juliantaylor/i386-alignment

BUG: add missing elementsize alignment check for simd reductions
TST: add temporary elision testcases

A very significant optimization for numpy would be to avoid the
temporaries in these types of expressions:

    res = a + b + c

transforming it into:

    res = a + b
    res += c

An approach to do that is to check the reference count of the PyNumber
slot arguments, temporary expressions coming from python have reference
count 1 and can be converted to inplace operations.
Unfortunately C-extensions can skip increasing reference counts for
operations breaking the assumption that an inplace operation can be
performed, e.g. Cython does this type of optimizations.
To ensure to not accidentally break such extensions in future test
that refcount == 1 operands from extensions are not elided.
Merge pull request #4856 from juliantaylor/elide-testcases

TST: add temporary elision testcases
Merge pull request #4852 from ewmoore/gen_frexp

Generate ufuncs for frexp and ldexp
BUG: Use `np.where` in np.triu/np.tril, fixes #4859

Replaces the current method to zero items, from multiplication to
using `np.where`.