AC_EGREP_HEADER([CXXIsProduction], [clang/Driver/Driver.h],
[AC_DEFINE([HAVE_CXXISPRODUCTION], [],
[Define if Driver constructor takes CXXIsProduction argument])])
+ AC_EGREP_HEADER([void HandleTopLevelDecl\(], [clang/AST/ASTConsumer.h],
+ [AC_DEFINE([HandleTopLevelDeclReturn], [void],
+ [Return type of HandleTopLevelDeclReturn]),
+ AC_DEFINE([HandleTopLevelDeclContinue], [],
+ [Return type of HandleTopLevelDeclReturn])],
+ [AC_DEFINE([HandleTopLevelDeclReturn], [bool],
+ [Return type of HandleTopLevelDeclReturn]),
+ AC_DEFINE([HandleTopLevelDeclContinue], [true],
+ [Return type of HandleTopLevelDeclReturn])])
AC_LANG_POP
CPPFLAGS="$SAVE_CPPFLAGS"
;;
set<RecordDecl *> types;
set<FunctionDecl *> functions;
- virtual void HandleTopLevelDecl(DeclGroupRef D) {
+ virtual HandleTopLevelDeclReturn HandleTopLevelDecl(DeclGroupRef D) {
Decl *decl;
if (!D.isSingleDecl())
- return;
+ return HandleTopLevelDeclContinue;
decl = D.getSingleDecl();
if (!is_exported(decl))
- return;
+ return HandleTopLevelDeclContinue;
switch (decl->getKind()) {
case Decl::Record:
types.insert(cast<RecordDecl>(decl));
default:
break;
}
+ return HandleTopLevelDeclContinue;
}
};