aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUtils.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-04-22 18:46:33 +0000
committerReid Kleckner <rnk@google.com>2016-04-22 18:46:33 +0000
commitea53dba78b5064052793fe9a8bec4a2649fb3e4f (patch)
treebe8be11ed6f01ed6234698dd28e737047f60fea8 /llvm/lib/Transforms/Utils/LoopUtils.cpp
parent658d9dbe56b78e9d8d5a768b2e68ff86cab2b39d (diff)
downloadllvm-ea53dba78b5064052793fe9a8bec4a2649fb3e4f.zip
llvm-ea53dba78b5064052793fe9a8bec4a2649fb3e4f.tar.gz
llvm-ea53dba78b5064052793fe9a8bec4a2649fb3e4f.tar.bz2
Fix a bug involving deferred decl emission and PCH
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
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions