Commit 320647c0 authored by Raphael Isemann's avatar Raphael Isemann
Browse files

[lldb] Pass a valid SourceLocation to Sema::RequireCompleteType in ASTResultSynthesizer

Sema::RequireCompleteTypeImpl is supposed to have an assert that checks that the
SourceLocation that is passed in is always valid. It's currently commented out, but
as soon as this assert goes active, nearly every LLDB expression will start crashing as
we always pass in an invalid SourceLocation from the ASTResultSynthesizer.

This patch just passes in the valid SourceLocation of the expression (which is
the SourceLocation where the complete type is required) to prevent that from happening.
parent 55e2678f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -325,7 +325,8 @@ bool ASTResultSynthesizer::SynthesizeBodyResult(CompoundStmt *Body,
    else
      result_ptr_id = &Ctx.Idents.get("$__lldb_expr_result_ptr");

    m_sema->RequireCompleteType(SourceLocation(), expr_qual_type,
    m_sema->RequireCompleteType(last_expr->getSourceRange().getBegin(),
                                expr_qual_type,
                                clang::diag::err_incomplete_type);

    QualType ptr_qual_type;