Author: Aaron Puchert Date: 2020-09-05T18:01:33+02:00 New Revision: d3a779fe21500457e95c8c4e963638b93e3bcc71
URL: https://github.com/llvm/llvm-project/commit/d3a779fe21500457e95c8c4e963638b93e3bcc71 DIFF: https://github.com/llvm/llvm-project/commit/d3a779fe21500457e95c8c4e963638b93e3bcc71.diff LOG: Restore size of TemplateParameterList after D44352 After adding a field of one bit, the bitfield members would take 30+1+1+1 = 33 bits, causing the size of TemplateParameterList to increase from 16 to 24 bytes on 64-bit systems. With 29 bits for NumParams we can encode up to half a billion template parameters, which is almost certainly still enough for anybody. Added: Modified: clang/include/clang/AST/DeclTemplate.h Removed: ################################################################################ diff --git a/clang/include/clang/AST/DeclTemplate.h b/clang/include/clang/AST/DeclTemplate.h index 4feb1d45251d..9e2254376150 100644 --- a/clang/include/clang/AST/DeclTemplate.h +++ b/clang/include/clang/AST/DeclTemplate.h @@ -77,7 +77,7 @@ class TemplateParameterList final /// The number of template parameters in this template /// parameter list. - unsigned NumParams : 30; + unsigned NumParams : 29; /// Whether this template parameter list contains an unexpanded parameter /// pack. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits