Hi,
Aimed the Open Watcom Compiler at 1.7.1 subversion source and was
pleasantly surprised how much built on the first go.
The one real blip was that OWC 1.9 (nor a near future release 2.0)
supports 64-bit switch expressions, and there is one such used in:
.\subversion\libsvn_ra_svn\client.c (1170).
While annoying, a change similar to the following should suit all likely
compilers in this case:
--- client.c.orig 2011-09-28 02:30:36.000000000 +1000
+++ client.c 2011-11-13 06:14:09.109375000 +1100
@@ -1166,15 +1166,12 @@
static svn_tristate_t
optbool_to_tristate(apr_uint64_t v)
{
- switch (v)
- {
- case TRUE:
- return svn_tristate_true;
- case FALSE:
- return svn_tristate_false;
- default: /* Contains SVN_RA_SVN_UNSPECIFIED_NUMBER */
- return svn_tristate_unknown;
- }
+ if (v == TRUE)
+ return svn_tristate_true;
+ if (v == FALSE)
+ return svn_tristate_false;
+
+ return svn_tristate_unknown; /* Contains SVN_RA_SVN_UNSPECIFIED_NUMBER */
}
FYI: The 'warn' blips; at least the first 2 are already noted in the
source, while for #3 it's unclear how this can return an int....
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_delta\compose_delta.c(707):
Warning! W124: Comparison result always 1
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_repos\reporter.c(189):
Warning! W124: Comparison result always 0
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_subr\pool.c(55): Warning!
W107: Missing return value for function 'abort_on_pool_failure'
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_subr\skel.c(233): Warning!
W136: Comparison equivalent to 'unsigned == 0'
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_subr\stream.c(1066):
Warning! W136: Comparison equivalent to 'unsigned == 0'
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_ra_svn\marshal.c(577):
Warning! W124: Comparison result always 0
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_ra_neon\merge.c(159):
Warning! W113: Pointer type mismatch
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_ra_neon\merge.c(159): Note!
N2003: source conversion type is 'void *'
D:\Projects\srcs\subversion-1.7.1\subversion\libsvn_ra_neon\merge.c(159): Note!
N2004: target conversion type is 'enum svn_recurse_kind '
D:\Projects\srcs\subversion-1.7.1\subversion\svnlook\main.c(2376): Warning!
W136: Comparison equivalent to 'unsigned == 0'
Not saying these are bugs - just what the OWC 1.9 says. (Hence FYI).
Norm