Fix a small difference in sema and codegen views of what needs to be output.
In the included testcase, soma thinks that we already have a definition after we see the out of line decl. Codegen puts it in a deferred list, to be output if a use is seen. This would break when we saw an explicit template instantiation definition, since codegen would not be notified. This patch adds a method to the consumer interface so that soma can notify codegen that this decl is now required. llvm-svn: 152024
Showing
- clang/include/clang/AST/ASTConsumer.h 5 additions, 0 deletionsclang/include/clang/AST/ASTConsumer.h
- clang/include/clang/Frontend/MultiplexConsumer.h 1 addition, 0 deletionsclang/include/clang/Frontend/MultiplexConsumer.h
- clang/lib/CodeGen/CodeGenAction.cpp 4 additions, 0 deletionsclang/lib/CodeGen/CodeGenAction.cpp
- clang/lib/CodeGen/CodeGenModule.cpp 3 additions, 0 deletionsclang/lib/CodeGen/CodeGenModule.cpp
- clang/lib/CodeGen/CodeGenModule.h 5 additions, 0 deletionsclang/lib/CodeGen/CodeGenModule.h
- clang/lib/CodeGen/ModuleBuilder.cpp 4 additions, 0 deletionsclang/lib/CodeGen/ModuleBuilder.cpp
- clang/lib/Frontend/MultiplexConsumer.cpp 5 additions, 0 deletionsclang/lib/Frontend/MultiplexConsumer.cpp
- clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 8 additions, 4 deletionsclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
- clang/test/CodeGenCXX/pr12104.cpp 14 additions, 0 deletionsclang/test/CodeGenCXX/pr12104.cpp
Loading
Please register or sign in to comment