From: "U.Nakamura" Date: 2009-03-09T13:25:51+09:00 Subject: [ruby-core:22771] Re: [Bug #1253] Fix MSVC Build Issues Hello, In message "[ruby-core:22768] [Bug #1253] Fix MSVC Build Issues" on Mar.09,2009 11:08:06, wrote: > > 4. optflags > > Rejected. Nobu said the reason. > > The current setting is -O2b2xty-. The problem with that is -O2 and -Ox are mutually exclusive. From MSDN (http://msdn.microsoft.com/en-us/library/8f8h5cxt.aspx): They are not mutually exclusive. -O2b2xty- is: -Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy -Ob2 -Og -Oi -Ot -Oy -Ob2 -Os -Ot -Oy- Yes, this is uselessly too tedious. This is same as: -Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy -Os And there is no exclusive specification. Of course, we can write this more simple as: -O2sy- > So why not just /O2? -Os sometimes makes more faster code. -Oy sometimes breaks our GC. > > 5. warn flags > > We know that the warnings are for new programs written for Windows > > only. Ruby is not such programs. > > Why do you think that? Warnings are useful for any program, either with VC2008 and GCC. For example, if you read the mailing lists the postgresql project (I think almost as old as Ruby) spend a lot of time reducing compiler warnings. I only explained our current default warn flags. (especially why we disabled the two warnings about Microsoft's extensions outside of the standard) We can discuss what kind of warn flags is preferable. But, I'm thinking that -W3 is a little too annoying for us. Regards, -- U.Nakamura