[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-16 Thread Phabricator via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL339861: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type (authored by brunoricci, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit:

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-15 Thread Erich Keane via Phabricator via cfe-commits
erichkeane accepted this revision. erichkeane added a comment. This revision is now accepted and ready to land. Sorry about the long discussion on the comment... These bitfields are just hell on the next guy through if he doesn't have the context/knowledge of what are appropriate sizes.

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-15 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno updated this revision to Diff 160795. riccibruno added a comment. updated the comment in SubstTemplateTypeParmPackTypeBitfields Repository: rC Clang https://reviews.llvm.org/D50713 Files: include/clang/AST/Type.h lib/AST/Type.cpp Index: lib/AST/Type.cpp

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-15 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added a comment. This comment seems fine. I will also add a similar comment to `TemplateSpecializationTypeBitfields`, `DependentTemplateSpecializationTypeBitfields` and `PackExpansionTypeBitfields` since they all 3 have a similar `unsigned`. Repository: rC Clang

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-15 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added a comment. In https://reviews.llvm.org/D50713#1200564, @riccibruno wrote: > The thing is that I have no idea what is the minimum number > of bits required. It was originally an unsigned but I suspect that > 32 bits are not needed. Looking at [implimits] I see > > Template

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-15 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added a comment. The thing is that I have no idea what is the minimum number of bits required. It was originally an unsigned but I suspect that 32 bits are not needed. Looking at [implimits] I see Template arguments in a template declaration [1 024]. Recursively nested template

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-15 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added inline comments. Comment at: include/clang/AST/Type.h:1634 + +/// The number of template arguments in \c Arguments. +/// Intentionally not a bitfield since we have plenty of space left. riccibruno wrote: > erichkeane wrote: > > I would

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-15 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added inline comments. Comment at: include/clang/AST/Type.h:1634 + +/// The number of template arguments in \c Arguments. +/// Intentionally not a bitfield since we have plenty of space left. erichkeane wrote: > I would love it if we commented

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-14 Thread Erich Keane via Phabricator via cfe-commits
erichkeane added inline comments. Comment at: include/clang/AST/Type.h:1634 + +/// The number of template arguments in \c Arguments. +/// Intentionally not a bitfield since we have plenty of space left. I would love it if we commented what a reasonable

[PATCH] D50713: [AST] Pack the unsigned of SubstTemplateTypeParmPackType into Type

2018-08-14 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno created this revision. riccibruno added reviewers: rsmith, rjmccall, erichkeane. riccibruno added a project: clang. Herald added a reviewer: javed.absar. Herald added subscribers: cfe-commits, chrib, kristof.beyls. The bit-fields of `Type` have enough space for the member `unsigned