Formal parameter with __declspec(align('16')) won't be aligned
From Microsoft's documentation on that error:
The align __declspec modifier is not permitted on function parameters.
Don't copy the parameter to an unaligned location. Pass a constant reference to the existing, already-aligned data.
void Shader::setUniform(const std::string &name, const glm::mat4 & value)
// ^^^^^ ^