Bruce Gray: # Having said that, I see that nested "#ifndef __GNUC__", # #ifndef __BORLAND", "#ifndef __MARS__", etc will be # sub-optimal. The better choice is to only make the pragmas # visible to the specific compiler that understands them. Now # that I have done more checking, I think that compiler is # Microsoft's. If Brent Dax will verify that his original # intent was for those pragmas to apply only to Microsoft's C # compiler, then an improvement would be to change one line of
I didn't introduce these. Looking at the CVS logs, I find that most of them were added in way back in parrot/platforms/win32.h (the old location of the file) version 1.5: Revision 1.5, Mon Jan 14 20:04:32 2002 UTC (11 months, 1 week ago) by dan Changes since 1.4: +3 -0 lines This patch cleans up most of the MSVC-warnings when using warning level 4 (the highest, one above the default level 3). It turns off two level-4 warnings for 'unreferenced formal parameter' and 'named type definition in parentheses', the latter of which was turning up warnings in MS VC headers. Level 4 warnings also helped me find a couple of other lurking bugs in the parrot code. ... Courtesy of "Michel Lambert" <[EMAIL PROTECTED]> So Mike is the guy to ask, not me. However, those warning numbers are almost certainly VC++ specific, so they should be confined to VC++. That way if someone ports a new C compiler to Windows, we won't have to run around adding new #ifndefs all over the place. --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) "If you want to propagate an outrageously evil idea, your conclusion must be brazenly clear, but your proof unintelligible." --Ayn Rand, explaining how today's philosophies came to be