Daniel Shahaf wrote on Tue, Apr 24, 2012 at 18:15:22 +0300:
> stefan2_at_apache.org wrote on Sun, Apr 15, 2012 at 13:42:44 -0000:
> > Author: stefan2
> > Date: Sun Apr 15 13:42:44 2012
> > New Revision: 1326337
> >
> > URL: http://svn.apache.org/viewvc?rev=1326337&view=rev
> > Log:
> > Fix a macro redefinition warning for SYNCHRONIZE under Windows.
> >
> > * subversion/libsvn_subr/svn_named_atomic.c
> > (SYNCHRONIZE): undefine pre-existing definitions
> >
> > Modified:
> > subversion/trunk/subversion/libsvn_subr/svn_named_atomic.c
> >
> > Modified: subversion/trunk/subversion/libsvn_subr/svn_named_atomic.c
> > URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/svn_named_atomic.c?rev=1326337&r1=1326336&r2=1326337&view=diff
> > ==============================================================================
> > --- subversion/trunk/subversion/libsvn_subr/svn_named_atomic.c (original)
> > +++ subversion/trunk/subversion/libsvn_subr/svn_named_atomic.c Sun Apr 15 13:42:44 2012
> > @@ -88,6 +88,12 @@
> > */
> > #define SHM_NAME_SUFFIX "Shm"
> >
> > +/* Prevent macro re-definition warning (on Windows in particluar).
> > + */
> > +#ifdef SYNCHRONIZE
> > +#undef SYNCHRONIZE
> > +#endif
>
> Is this a safe change? Experimenting shows that if later in the file
> a macro is used which is defined in terms of SYNCHRONIZE, the file-local
> definition (below the diff context) would be used even for macros
> defined while the previous definition was effective.
>
> Shouldn't you rename the macro?
>
With Greg's +1, and since this was cluttering my mailbox, I went ahead
and made this change in r1330268. Let me know if it's not ok.
>
> > +
> > /* Platform-dependent implementations of our basic atomic operations.
> > * SYNCHRONIZE(op) will ensure that the OP gets executed atomically.
> > * This will be zero-overhead if OP itself is already atomic.
> >
> >
Received on 2012-04-25 15:19:11 CEST