[LLVMdev] [RFC] The coding standard for "struct" should be relaxed or removed

Chandler Carruth chandlerc at google.com
Sat Mar 1 19:15:01 PST 2014


On Sat, Mar 1, 2014 at 5:59 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

> The current guidelines [1] on the use of the struct keyword are too
> restrictive and apparently ignored.  They limit the use of struct to
> PODs, citing broken compilers.
>
> The guidelines are out-of-date and should be relaxed.  Here’s why:
>
>  1. Our updated list of supported compilers should all deal correctly
>     with non-POD structs.
>
>  2. A quick grep of the source suggests that no one paid attention
>     anyway.
>
> I’ve attached a patch that removes the guideline entirely (matching
> the apparent current practice), but does anyone feel a new explicit
> guideline is in order?
>

We should at least remove it, the rule is nonsense as you point out.

I would be happy to have a soft rule along the lines of "use struct for
types which are intended to be aggregate types, or to behave like aggregate
types". IE, types which are suitable for use with list-initialization in
C++11.

I also don't feel terribly strongly about such things other than that I
would prefer *some* guidance to lessen the inconsistency.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140301/0e4b8ba7/attachment.html>


More information about the llvm-dev mailing list