Re: [lldb-dev] stable layout bug for imported record decls.

2018-08-13 Thread Lang Hames via lldb-dev
Hi Alexey, Gábor, Thank you so much for this information. This is very helpful! One trivial solution would be to change `ImporDeclContext` to behave > the same way in both modes. This is somewhat similar to the "brute > force" method you mentioned. > I am not an LLDB expert, so I am not sure if

Re: [lldb-dev] stable layout bug for imported record decls.

2018-08-11 Thread Gábor Márton via lldb-dev
I have forgot to include the matcher I used for the test: ``` AST_MATCHER_P(CXXRecordDecl, hasMethodOrder, std::vector, Order) { size_t Index = 0; for (CXXMethodDecl *Method : Node.methods()) { if (!Method->isImplicit()) { if (Method->getName() != Order[Index]) return false;

Re: [lldb-dev] stable layout bug for imported record decls.

2018-08-10 Thread Gábor Márton via lldb-dev
Hi Lang, Alexey, I dug deeper into this and it seems like the issue happens only when a **minimal** import is used. LLDB uses the minimal import. CrossTU static analyzer uses the normal mode. In normal import mode, in `ImportDeclContext` we do import all the methods in the correct order. However,