[ASTImporter] Fix infinite recursion on function import with struct definition in...
authorGabor Marton <martongabesz@gmail.com>
Thu, 12 Jul 2018 11:50:21 +0000 (11:50 +0000)
committerGabor Marton <martongabesz@gmail.com>
Thu, 12 Jul 2018 11:50:21 +0000 (11:50 +0000)
commit6e1510cfeb2e797d7414aa95dac5b62538bfb148
treeaed04fd91e6648216a290bcf43e977b65e47cfca
parent2557e437fd8bb393fd1b7394cce3d77cbe2501eb
[ASTImporter] Fix infinite recursion on function import with struct definition in parameters

Summary:
Importing a function having a struct definition in the parameter list
causes a crash in the importer via infinite recursion. This patch avoids
the crash and reports such functions as not supported. Unit tests make
sure that normal struct definitions inside function bodies work normally
on the other hand and LLDB-like type imports also do.

Reviewers: a.sidorin, martong

Differential Revision: https://reviews.llvm.org/D47946

Patch by Zoltan Gera!

llvm-svn: 336898
clang/lib/AST/ASTImporter.cpp
clang/unittests/AST/ASTImporterTest.cpp