我正在尝试创建一个libclang工具来检查struct声明中使用的一些属性。而且我不知道如何访问这些属性。例如,我的输入C源具有struct参数的函数声明,其属性为" packed":
struct S { char c; short s; } __attribute__ ((packed));
void foo( struct S sp );
我们说我有
ParmVarDecl parm; // pointing at sp decl
Type *ty = param->getOriginalType().getTypePtr(); // get its type
if (ty->IsRecordType()) {
RecordType *st = ty->getAsStructureType(); // get its record type
...
但我不知道"包装"可以在RecordType中检查属性。而且我没有在AttributedType中看到它。那么这些"如何归因于#34;在clang中访问的类型?任何指针都将受到赞赏!