DSP module breaks compilation on Linux

GCC 5.4.0 on Ubuntu 16.04

This is the (cleaned) error message:

/juce_dsp/containers/juce_SIMDRegister.h: In instantiation of ‘struct juce::dsp::SIMDRegister<long long int>’:

hi_streaming/hi_streaming/MonolithAudioFormat.h:402:77:   recursively required by substitution of ‘template<class Type> juce::dsp::SIMDRegister<Type> juce::jmax(juce::dsp::SIMDRegister<Type>, juce::dsp::SIMDRegister<Type>) [with Type = long long int]’

juce_dsp/containers/juce_SIMDRegister.h:84:43: error: invalid use of incomplete type ‘struct juce::dsp::SIMDNativeOps<long long int>’ typedef typename NativeOps::vSIMDType vSIMDType;
                                          ^

The code in MonolithAudioFormat.h uses something like jmax<int64>(int64 v1, int64 v2) which seems to be expanded to a SIMD version of the jmax macro defined in the location shown above (maybe a vector of 4 shorts?). If I change the line to:

jmax<int>((int)int64Value1, (int)int64Value2);

so that the template argument is int, it compiles.

I also got reports of users not being able to compile this on macOS (so most probably clang), however my XCode didn’t complain.