forked from OSchip/llvm-project
ea53dba78b
For various reasons, involving dllexport and class linkage compuations, we have to wait until after the semicolon after a class declaration to emit inline methods. These are "deferred" decls. Before this change, finishing the tag decl would trigger us to deserialize some PCH so that we could make a "pretty" IR-level type. Deserializing the PCH triggered calls to HandleTopLevelDecl, which, when done, checked the deferred decl list, and emitted some dllexported decls that weren't ready. Avoid this re-entrancy. Deferred decls should not get emitted when a tag is finished, they should only be emitted after a real top level decl in the main file. llvm-svn: 267186 |
||
---|---|---|
.. | ||
badpch-dir.h.gch | ||
modules | ||
__va_list_tag-typedef.h | ||
__va_list_tag.h | ||
arc.h | ||
badpch-empty.h.gch | ||
case-insensitive-include.h | ||
chain-decls1.h | ||
chain-decls2.h | ||
chain-ext_vector1.h | ||
chain-ext_vector2.h | ||
chain-external-defs1.h | ||
chain-external-defs2.h | ||
chain-macro-override1.h | ||
chain-macro-override2.h | ||
chain-macro1.h | ||
chain-macro2.h | ||
chain-remap-types1.h | ||
chain-remap-types2.h | ||
chain-selectors1.h | ||
chain-selectors2.h | ||
chain-trivial1.h | ||
chain-trivial2.h | ||
cuda.h | ||
cxx-method.h | ||
cxx11-statement-attributes.h | ||
namespaces.h | ||
pr27445.h | ||
preamble.h | ||
typo.h | ||
typo.hpp | ||
va_arg.h | ||
working-directory-1.h |