On Tue, 27 Jan 2009, Jos Vos wrote:

> On Tue, Jan 27, 2009 at 04:45:19PM +0100, Matthias Andree wrote:
> 
> > Come on, nobody needs support for outdated operating systems and rogue
> > releases of GCC. There has never been a GCC 2.96, and Redhat 7.3 has
> > been out of security support for more than half a decade now, and if
> > OpenVPN 2.1 breaks on such systems, that's perhaps some more incentive
> > for their users to upgrade. See:
> > 
> > * <http://gcc.gnu.org/gcc-2.96.html>
> > * <http://www.redhat.com/security/updates/eol/>
> 
> The rc10 ChangeLog says
> 
> * Fixed separate compile errors in options.c and ntlm.c that occur
>   on strict C compilers (such as old versions of gcc) that require
>   that C variable declarations occur at the start of a {} block,
>   not in the middle.
> 
> so I thought this might fall into the same category (although I don't
> know if this way of using the C preprocessor is formally allowed or
> not).  But I don't mind *not* sharing this kind of patches anymore in
> the future, if that bothers people too much.

Sorry, I didn't mean to offend you, <lang='nl'>en dank je wel voor jouw
patch</lang>; I was merely stumbling across "gcc-2.96/RH 7.3" which made
me misinterpret the real motivation. The official gcc 2.95.3 doesn't
compile ssl.c either, and apparently it's rightfully refusing to (I
checked the opencsw.org compiler on Solaris 8 SPARC).

I checked around a bit, and for not having a current C standard handy,
I'll relay this Apple developer document instead, without checking it:

http://developer.apple.com/documentation/DeveloperTools/gcc-4.0.1/cpp/Directives-Within-Macro-Arguments.html#Directives-Within-Macro-Arguments

where Apple effectively state that the behaviour OpenVPN requests is
undefined. If they're right, the behaviour used in ssl.c that you fixed
was a GCC 3.2+ extension, so your patch fixes a real bug rather than
compability with ancient compilers.  I stand corrected.

Sorry for the harsh tone.

Take care,

-- 
Matthias Andree

Reply via email to