[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Mark deprecated functions with SVN_DEPRECATED

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Tue, 26 Aug 2008 14:59:34 +0100

On Tue, 2008-08-26 at 10:36 +0100, Julian Foad wrote:
> Arfrever Frehtes Taifersar Arahesis wrote:
> > [[[
> > Mark deprecated functions with SVN_DEPRECATED.
> >
> > * subversion/include/svn_types.h: Define SVN_DEPRECATED.
> >
> > * subversion/bindings/swig/include/svn_global.swg: Define __declspec(x).
>
> Can you comment on why this is necessary? It doesn't look like the
> "__declspec" would be seen by SWIG, given that in "svn_types.h" you have
> "#if !defined(SWIG..." which tries to hide it from SWIG.

Arfrever's comments from IRC:

<Arfrever> julianf: Re defining __declspec(x) in
subversion/bindings/swig/include/svn_global.swg: svn_types.h only checks
'SWIGPERL', 'SWIGPYTHON' and 'SWIGRUBY', but SWIG parses headers with
only 'SWIG' defined.

<julianf> OK, I think I understand what you mean. Thanks. That's OK
then.

<Arfrever> SWIG places SWIGPERL, SWIGPYTHON or SWIGRUBY definitions
in .c files generated by SWIG.

<Arfrever> 'SWIG' alone isn't defined in such files.

<Arfrever> svn_types.h checks for SWIGPERL, SWIGPYTHON and SWIGRUBY to
avoid compiler warnings during compilation of SWIG-based bindings which
wrap some deprecated functions.

> > * subversion/include/svn_auth.h:
> > * subversion/include/svn_base64.h:
> > * subversion/include/svn_client.h:
> > * subversion/include/svn_cmdline.h:
> > * subversion/include/svn_config.h:
> > * subversion/include/svn_delta.h:
> > * subversion/include/svn_diff.h:
> > * subversion/include/svn_dso.h:
> > * subversion/include/svn_error.h:
> > * subversion/include/svn_fs.h:
> > * subversion/include/svn_hash.h:
> > * subversion/include/svn_io.h:
> > * subversion/include/svn_opt.h:
> > * subversion/include/svn_ra.h:
> > * subversion/include/svn_ra_svn.h:
> > * subversion/include/svn_repos.h:
> > * subversion/include/svn_subst.h:
> > * subversion/include/svn_utf.h:
> > * subversion/include/svn_wc.h: Mark deprecated functions with SVN_DEPRECATED.
>
> It's probably not such a good idea to combine adding "SVN_DEPRECATED"
> with moving the return type to a separate line in the same change. That
> will make it harder to merge changes between branches. Can you separate
> these two changes please?
>
> > * www/hacking.html
> > (deprecation): Update example.
> > ]]]
>
> Other than that, it looks good. I tried it (with GCC 4.1.2) and confirm
> it does what it should.
>
> Unfortunately, GCC 4.1.2 emits a warning for using a deprecated function
> even where this use is in the body of another deprecated function, which
> is not what I want, but that's another matter.
>
> - Julian
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: dev-help_at_subversion.tigris.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-26 15:59:42 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.