C++ warnings vs. errors
Jonathan Wakely
jwakely.gcc@gmail.com
Thu Jun 19 23:47:00 GMT 2008
Thanks for the review, here's another patch ...
2008/6/18 Mark Mitchell:
>
>> * Should it really be a hard error for a class to declare itself as a
>> friend? I don't think it's expressly forbidden
>> e.g. class A { friend class A; };
>> I changed this to a permerror, restoring the old behaviour.
>
> I think this should just be a warning. I can't find anything in the WP that
> says this is invalid. (That's why I try to cite the WP when making changes
> -- so that we can go back and check later!) Please change it to a warning.
Done, plain old warning now.
Declaring a member function a friend of its own class is still a
permerror, which is consistent with comeau.
>> * I don't think the pedwarn in joust() in cp/call.c should be a
>> permerror, is this a GNU extension?
>> if (warn)
>> {
>> pedwarn ("\
>> ISO C++ says that these are ambiguous, even \
>> though the worst conversion for the first is better than \
>> the worst conversion for the second:");
>> print_z_candidate (_("candidate 1:"), w);
>> print_z_candidate (_("candidate 2:"), l);
>> }
>
> Yes, that is a historical GNU extension. I think this should just be a
> warning, given that the whole section of code is guarded with !pedantic.
Done, plain old warning.
>> * I don't know if these in cp/typeck.c should be permerrors, DTRT
>> implies not, but should tf_error be changed to tf_warning?
>
> I think "DTRT" here means "do what whoever wrote this code thinks the
> standard should say" not "do what the standard says". Please make these
> permerrors.
Done.
tested linux/x86-64
Shall I commit this?
Jon
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ChangeLog
Type: application/octet-stream
Size: 1547 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20080619/c5597d34/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: permerrors-2.patch
Type: application/octet-stream
Size: 33287 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20080619/c5597d34/attachment-0001.obj>
More information about the Gcc
mailing list