This is recommit of98390ccb80, reverted in82a3969d71, because it caused https://github.com/llvm/llvm-project/issues/63542. Although the problem described in the issue is independent of the reverted patch, fail of PCH/late-parsed-instantiations.cpp indeed obseved on PowerPC and is likely to be caused by wrong serialization of `LateParsedTemplate` objects. In this patch the serialization is fixed. Original commit message is below. Previously function template instantiations occurred with FP options that were in effect at the end of translation unit. It was a problem for late template parsing as these FP options were used as attributes of AST nodes and may result in crash. To fix it FP options are set to the state of the point of template definition. Differential Revision: https://reviews.llvm.org/D143241
464 KiB
464 KiB