This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH 1/3] add -Wstruct-not-pod, -Wclass-is-pod, -Wmismatched-tags (PR 61339)
On 7/8/19 3:58 PM, Martin Sebor wrote:
> The attached patch implements three new warnings:
> * -Wstruct-not-pod triggers for struct definitions that are not
> POD structs,
> * -Wclass-is-pod triggers for class definitions that satisfy
> the requirements on POD structs, and
> * -Wmismatched-tags that triggers for class and struct declarations
> with class-key that doesn't match either their definition or
> the first declaration (if no definition is provided).
> The implementation of -Wclass-is-pod and -Wstruct-not-pod is fairly
> straightforward but the -Wmismatched-tags solution is slightly unusual.
> It collects struct and class declarations first and diagnoses mismatches
> only after the whole tramslation unit has been processed. This is so
> that the definition of a class can guide which declarations to diagnose
> no matter which come first.
So there was some discussion on whether or not we even wanted to keep
the struct vs class convention for GCC.
Did that reach any kind of conclusion? I don't have a strong opinion
here and will adjust to whatever the consensus is.