[C++] warn_synth considered obsolete
Mark Mitchell
mark@codesourcery.com
Mon Jan 3 02:49:00 GMT 2005
gcc@integrable-solutions.net wrote:
> Hi,
>
> While looking into PR C++/18644, it occurs to me that the option
> -Wsynth is no longer useful.
>
> First, the diagnostic does not make any sense to me. Does anybody
> understand it, what it is trying to say and how it could have been
> useful?
It means exactly what it says: Cfront would not have synthesized a copy
assignment operator when there is a user-declared version. In other
words, it is saying that Cfront treated operator= like a default
constructor; once you declare one, the default (no-argument) constructor
is never synthesized. (I was not aware of this behavior in Cfront, but
that is what the manual and the warning suggest.)
> from cp/call.c:build_new_op(). That removal would make the switch
> actually unused; consequently I propose to deprecate it.
There's no point in deprecating an option that isn't used for anything;
we deprecate things only when we're leaving them operational, but
warning users that they're going away. In this case, I think it's fine
to remove the code, but then you should also update the manual, the
changes HTML page. You should also make sure that the compiler still
accepts the option. (In that sense, the option would indeed be deprecated.)
Such a patch is OK, as it is a low-risk way of solving this regression.
--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com
(916) 791-8304
More information about the Gcc
mailing list