Sparse code relies upon a number of gcc extensions that are not supported by compilers such as MSVC on Windows. By avoiding these features Sparse code can be successfully compiled on Windows using MSVC. This can be beneficial to Sparse as it expands the scope of its use. This work has already been done by the dmr_C project (https://github.com/dibyendumajumdar/dmr_c) and I am happy to contribute the changes necessary for this. Please provide feedback on whether this is desired or not.
From a quick look, there are several gcc extensions being used, so I guess that this will have to be decided on a case-by-case basis. (IMHO)
Yes, I would be fine with such patch, one for each case.