diff --git a/src/common/clang_utils.cc b/src/common/clang_utils.cc index f2fce146..38881b9e 100644 --- a/src/common/clang_utils.cc +++ b/src/common/clang_utils.cc @@ -150,7 +150,13 @@ std::string to_string(const clang::QualType &type, const clang::ASTContext &ctx, result = "(anonymous)"; else if (util::contains(result, "unnamed struct") || util::contains(result, "unnamed union")) { - result = common::get_tag_name(*type->getAsTagDecl()); + auto declarationTag = type->getAsTagDecl(); + if (declarationTag == NULL) { + result = "(unnamed undeclared)"; + } + else { + result = common::get_tag_name(*declarationTag); + } } else if (util::contains(result, "anonymous struct") || util::contains(result, "anonymous union")) {