diff --git a/clang/lib/AST/Interp/InterpFrame.cpp b/clang/lib/AST/Interp/InterpFrame.cpp --- a/clang/lib/AST/Interp/InterpFrame.cpp +++ b/clang/lib/AST/Interp/InterpFrame.cpp @@ -126,6 +126,9 @@ F = F.isArrayElement() ? F.getArray().expand() : F.getBase(); } + // Drop the first pointer since we print it unconditionally anyway. + Levels.erase(Levels.begin()); + printDesc(P.getDeclDesc()); for (const auto &It : Levels) { if (It.inArray()) { diff --git a/clang/test/AST/Interp/constexpr-nqueens.cpp b/clang/test/AST/Interp/constexpr-nqueens.cpp --- a/clang/test/AST/Interp/constexpr-nqueens.cpp +++ b/clang/test/AST/Interp/constexpr-nqueens.cpp @@ -6,9 +6,6 @@ /// Board constructors. /// This tests that InterpFrame::describe(). -// FIXME: With the new interpreter, most of the described frames are -// currently broken in one way or another. - typedef unsigned long uint64_t; struct Board {