How is it not a cygwin (well, technically gcc for cygwin) problem? The port of gcc was bad, that's all there is to it. When I found a bug where a certain version of clang on ARM wouldn't compile a program everything else was compiling, was it a problem with my understanding or was it a bug with clang?
cygwin's ports aren't going to be 100% perfect, not sure why you would claim that if there's a problem with it, it's MY misunderstanding that's the problem.