lib/Sema/SemaDeclAttr.cpp
void Sema::checkUnusedDeclAttributes(Declarator &D) {
  ::checkUnusedDeclAttributes(*this, D.getDeclSpec().getAttributes());
  ::checkUnusedDeclAttributes(*this, D.getAttributes());
  for (unsigned i = 0, e = D.getNumTypeObjects(); i != e; ++i)
    ::checkUnusedDeclAttributes(*this, D.getTypeObject(i).getAttrs());
}
/// checkUnusedDeclAttributes - Given a declarator which is not being
/// used to build a declaration, complain about any decl attributes
/// which might be lying around on it.
Given a declarator which is not being
used to build a declaration, complain about any decl attributes
which might be lying around on it.
Given a declarator which is not being used to build a declaration complain about any decl attributes which might be lying around on it .
void Sema::checkUnusedDeclAttributes(Declarator &D) {
  ::checkUnusedDeclAttributes(*this, D.getDeclSpec().getAttributes());
  ::checkUnusedDeclAttributes(*this, D.getAttributes());
  for (unsigned i = 0, e = D.getNumTypeObjects(); i != e; ++i)
    ::checkUnusedDeclAttributes(*this, D.getTypeObject(i).getAttrs());
}
void Sema :: checkUnusedDeclAttributes ( Declarator & D ) { :: checkUnusedDeclAttributes ( * this , D . getDeclSpec ( ) . getAttributes ( ) ) ; :: checkUnusedDeclAttributes ( * this , D . getAttributes ( ) ) ; for ( unsigned i = 0 , e = D . getNumTypeObjects ( ) ; i != e ; ++ i ) :: checkUnusedDeclAttributes ( * this , D . getTypeObject ( i ) . getAttrs ( ) ) ; }
checkUnusedDeclAttributes - Given a declarator which is not being
used to build a declaration, complain about any decl attributes
which might be lying around on it.
checkUnusedDeclAttributes - Given a declarator which is not being used to build a declaration complain about any decl attributes which might be lying around on it .