additional warn levels, should work for msvc and gcc, still needs testing