<div dir="ltr">Hello,<br><br>Inside VarDecl constructor (Decl.cpp L1721 in Clang 3.6) there are 2 static assertions as follows;<br><div><br></div>VarDecl::VarDecl(Kind DK, ASTContext &C, DeclContext *DC,...) {<br><br>  static_assert(sizeof(VarDeclBitfields) <= sizeof(unsigned), <br>          "VarDeclBitfields too large!"); <div>  static_assert(sizeof(ParmVarDeclBitfields) <= sizeof(unsigned),<br>          "ParmVarDeclBitfields too large!");</div><div>  ...</div><div>}</div><div><br></div><div>I am trying to add an another field to VarDeclBitfields and it triggers second static assertion in above code. </div><div><br></div><div>Could you please explain why sizeof VarDeclBitfields and ParmVarDeclBitfields must be less than sizeof(unsigned) and also what are repercussions if I remove above assertions ?</div><div><br></div><div>Thanks</div><div>-Thejaka</div></div>