The header mini-amd64.h (mono/mini) has the following code:
typedef struct {
} GSharedVtCallInfo;
(line 223)
which causes both MSVC 2015 and MSVC 2013 to fail, stating that a C struct must have at least one member.
This was added in a commit with the message 'Fix Build', although I think that commit had the opposite effect instead.