diff options
-rw-r--r-- | clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp | 4 | ||||
-rw-r--r-- | clang/test/InterfaceStubs/noninstancetypes.c | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp b/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp index 73584eb98df..5e6cc65e021 100644 --- a/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp +++ b/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp @@ -177,6 +177,10 @@ class InterfaceStubFunctionsConsumer : public ASTConsumer { HandleTemplateSpecializations(*cast<FunctionTemplateDecl>(ND), Symbols, RDO); return true; + case Decl::Kind::Record: + case Decl::Kind::Typedef: + case Decl::Kind::Enum: + case Decl::Kind::EnumConstant: case Decl::Kind::TemplateTypeParm: return true; case Decl::Kind::Var: diff --git a/clang/test/InterfaceStubs/noninstancetypes.c b/clang/test/InterfaceStubs/noninstancetypes.c new file mode 100644 index 00000000000..ad80aa62484 --- /dev/null +++ b/clang/test/InterfaceStubs/noninstancetypes.c @@ -0,0 +1,10 @@ +// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s +// TODO: Change clang_cc1 to clang when llvm-ifs can accept empty symbol lists. + +// CHECK: Symbols: +// CHECK-NEXT: ... + +struct a; +enum { b }; +typedef int c; + |