YLChenZ wrote:

My proposal is to judge the current `FieldDecl` at the beginning of the loop, 
and if it's a UnamedBitField, just skip it, because at that point the 
UnamedBitField's static check should be passing. If it's a NamedBitField then 
it needs to be initialized to pass the static check (i.e. go deeper to 
determine the type, value or whatever).
```cpp
for (const FieldDecl *I : RD->fields()) {
    if (I->isUnnamedBitField()) {   //my proposal 
      continue;                              
    }
    ......
    if (isPrimitiveType(T)) {
        // Skip unnamed bitfields (padding)
        if (I->isUnnamedBitField()) {   //his proposal 
            continue;
        }
        ......
    }
}
```

The current test cases are sufficient. I'm not sure about the answers to the 
other questions.

https://github.com/llvm/llvm-project/pull/132427
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to