[clang][ASTImporter] Remove use of ParentMapContext.
Function 'isAncestorDeclContextOf' was using 'ParentMapContext' for looking up parent of statement nodes. There may be cases (bugs?) with ParentMapContext when parents of specific statements are not found. This leads to 'ASTImporter' infinite import loops when function 'hasAutoReturnTypeDeclaredInside' returns false incorrectly. A real case was found but could not be reproduced with test code. Use of 'ParentMapContext' is now removed and changed to a more safe (currently) method by searching for declarations in statements and find parent of these declarations. The new code was tested on a number of projects and no related crash was found. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D136684
Loading
Please sign in to comment